问题标签 [circular-dependency]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - 相互使用的类的循环引用问题
我有以下两个课程:
TcmDataPanel 是(第 3 代)TFrame 后代。它不是直接使用的,而是从它衍生出的多个其他复合组件。
TcmDataConnector 是一个保存这些其他组件的数据库连接信息的组件。
我正在使用 ModelMaker,并正在尝试实现观察者模式,以便在“数据连接器”更改状态时自动更新多个“数据面板”。
这是我的问题:我似乎无法解决“循环引用”问题,因为每个类在接口部分都使用另一个。将相关的“使用”引用放在“接口”部分并不能解决“未声明的标识符”问题,并且将它们放在同一个单元中也不会。现在它们在同一个单元中(我已经在单独的单元中尝试过它们,并且一起尝试过),并且我收到“未声明的标识符:TcmTPDataConnector”错误。
我怎样才能解决这个问题?
================
更新:
现在是周五晚上 9:30 晚上我所在的地方,我完全被困住了。在我发帖后几分钟,你们拯救了这一天!!(晚上!)谢谢!
伙计,我喜欢 StackOverflow ......所以我的朋友在这个疯狂的学习季节。: ) 谢谢你,谢谢你,谢谢你...
compiler-construction - OCAML 中的循环依赖控制
[编辑]
谢谢你的回答,我的问题如下:
模块 A 称为 Map.ml
模块 B 称为 Player.ml
任何线索如何使它起作用。
顺便说一句,其他编程语言如何处理这个问题?我从不在乎 C# 中的这种依赖!!!! 谢谢
python - Python 中的循环(或循环)导入
如果两个模块相互导入会发生什么?
为了概括这个问题,Python 中的循环导入怎么样?
c - 解决循环 typedef 依赖?
在对这些结构进行类型定义时,解决以下循环依赖的最佳方法是什么?
注意 C 语言标签 - 我正在寻找标准 gcc C 中的解决方案。
python - Python中的循环依赖
我有两个文件node.py
和path.py
,它们分别定义了两个类Node
和Path
。
到今天为止,Path
引用Node
对象的定义,因此我做了
在path.py
文件中。
但是,截至今天,我为Node
引用该Path
对象创建了一个新方法。
尝试导入时遇到问题path.py
:我试过了,当程序运行并调用Path
使用的方法时,出现了一个关于未定义Node
的异常。Node
我该怎么办?
database - 数据库中是否可以接受循环引用?
什么时候可以在数据库中接受循环引用?
理论和实践,任何帮助表示赞赏。
c# - 组织接口
我正在阅读R. Martin 和 M. Martin的 C# 中的敏捷原则、模式和实践, 他们在他们的书中建议,将所有接口保存在一个单独的项目中,例如。接口。
例如,如果我有一个包含所有自定义 Gui 类的Gui项目,我会将它们的接口保留在Interfaces项目中。具体来说,我在Gui中有一个 CustomButton 类,我会将 ICustomButton 接口保留在Interfaces中。
优点是,任何需要 ICustomButton 的类都不需要对Gui本身的引用,而只需要对重量轻得多的Interfaces项目的引用。
此外,如果Gui项目中的类发生更改并因此导致它被重建,则只有直接引用 CustomButton 的项目需要重新编译,而引用 ICustomButton 的项目可能保持不变。
我理解这个概念,但看到一个问题:
假设我有这个界面:
如您所见,它指的是 AnimatorStrategy,这是一个具体的类,因此将位于不同的项目中,我们称之为Animation。现在界面工程需要引用Animation。另一方面,如果Animation使用 Interfaces 中定义的接口,则需要引用它。
循环依赖——“我们来了”。
我看到,这个问题的唯一解决方案是,接口中定义的所有方法都接受本身就是接口的输入。尝试实现这一点很可能会产生多米诺骨牌效应,并且即使对于最基本的类也很快需要实现接口。
我不知道我是否愿意在开发中处理这种开销。
有什么建议么?
python - 前向声明 - django 中没有管理页面?
这可能是一个数据库设计问题,但我想不出更好的办法。在其他几个中,我有这些模型:
和
所以基本上,我有一个用户实体,它与乐队实体有多对多的关系。转折是我想要一个特殊的用户,他在网站上“创建”了乐队,以拥有特殊的编辑能力。于是我往前走,添加了一个名为 creator 的外键。代码无法运行,因为 Band 在源代码中位于 User 之后。所以我转发声明class Band(models.Model): pass
。遗憾的是,这似乎不是一个好主意,因为现在 Band 是唯一一个在 django admin 中不显示任何界面元素的模型(Bands 模型在那里,只是无法编辑)。
我的问题是,我应该对模型进行哪些更改才能使其正常工作?(如有)
python - Python:如何摆脱涉及装饰器的循环依赖?
我有以下循环导入的案例(这里非常简化):
array2image.py
转换模块:
tuti.py
测试工具模块:
它因 NameError 而失败。这对我来说看起来不对,因为那里确实没有循环依赖。我一直在寻找一种巧妙的方法来避免这种情况或解释......在写这个问题的中途我找到了它。
将import
下面的装饰器移到tuti.py
解决 NameError 中:
c++ - 循环 C++ 头文件包括
在一个项目中,我有 2 个类:
// mainw.h
// IFr.h
但我无法编译这段代码,static IFr ifr;
在行出现错误。这种交叉包含是否被禁止?