问题标签 [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.

0 投票
3 回答
1720 浏览

delphi - 相互使用的类的循环引用问题

我有以下两个课程:

TcmDataPanel 是(第 3 代)TFrame 后代。它不是直接使用的,而是从它衍生出的多个其他复合组件。

TcmDataConnector 是一个保存这些其他组件的数据库连接信息的组件。

我正在使用 ModelMaker,并正在尝试实现观察者模式,以便在“数据连接器”更改状态时自动更新多个“数据面板”。

这是我的问题:我似乎无法解决“循环引用”问题,因为每个类在接口部分都使用另一个。将相关的“使用”引用放在“接口”部分并不能解决“未声明的标识符”问题,并且将它们放在同一个单元中也不会。现在它们在同一个单元中(我已经在单独的单元中尝试过它们,并且一起尝试过),并且我收到“未声明的标识符:TcmTPDataConnector”错误。

我怎样才能解决这个问题?

================
更新:

现在是周五晚上 9:30 晚上我所在的地方,我完全被困住了。在我发帖后几分钟,你们拯救了这一天!!(晚上!)谢谢!

伙计,我喜欢 StackOverflow ......所以我的朋友在这个疯狂的学习季节。: ) 谢谢你,谢谢你,谢谢你...

0 投票
1 回答
1085 浏览

compiler-construction - OCAML 中的循环依赖控制

[编辑]

谢谢你的回答,我的问题如下:

模块 A 称为 Map.ml

模块 B 称为 Player.ml

任何线索如何使它起作用。

顺便说一句,其他编程语言如何处理这个问题?我从不在乎 C# 中的这种依赖!!!! 谢谢

0 投票
13 回答
287817 浏览

python - Python 中的循环(或循环)导入

如果两个模块相互导入会发生什么?

为了概括这个问题,Python 中的循环导入怎么样?

0 投票
6 回答
20892 浏览

c - 解决循环 typedef 依赖?

在对这些结构进行类型定义时,解决以下循环依赖的最佳方法是什么?
注意 C 语言标签 - 我正在寻找标准 gcc C 中的解决方案。

0 投票
5 回答
88731 浏览

python - Python中的循环依赖

我有两个文件node.pypath.py,它们分别定义了两个类NodePath

到今天为止,Path引用Node对象的定义,因此我做了

path.py文件中。

但是,截至今天,我为Node引用该Path对象创建了一个新方法。

尝试导入时遇到问题path.py:我试过了,当程序运行并调用Path使用的方法时,出现了一个关于未定义Node的异常。Node

我该怎么办?

0 投票
8 回答
25090 浏览

database - 数据库中是否可以接受循环引用?

什么时候可以在数据库中接受循环引用?

理论和实践,任何帮助表示赞赏。

0 投票
4 回答
5016 浏览

c# - 组织接口

我正在阅读R. Martin 和 M. Martin的 C# 中的敏捷原则、模式和实践, 他们在他们的书中建议,将所有接口保存在一个单独的项目中,例如。接口

例如,如果我有一个包含所有自定义 Gui 类的Gui项目,我会将它们的接口保留在Interfaces项目中。具体来说,我在Gui中有一个 CustomButton 类,我会将 ICustomButton 接口保留在Interfaces中。

优点是,任何需要 ICustomButton 的类都不需要对Gui本身的引用,而只需要对重量轻得多的Interfaces项目的引用。

此外,如果Gui项目中的类发生更改并因此导致它被重建,则只有直接引用 CustomButton 的项目需要重新编译,而引用 ICustomButton 的项目可能保持不变。

我理解这个概念,但看到一个问题:

假设我有这个界面:

如您所见,它指的是 AnimatorStrategy,这是一个具体的类,因此将位于不同的项目中,我们称之为Animation。现在界面工程需要引用Animation。另一方面,如果Animation使用 Interfaces 中定义的接口,则需要引用它。

循环依赖——“我们来了”。

我看到,这个问题的唯一解决方案是,接口中定义的所有方法都接受本身就是接口的输入。尝试实现这一点很可能会产生多米诺骨牌效应,并且即使对于最基本的类也很快需要实现接口。

我不知道我是否愿意在开发中处理这种开销。

有什么建议么?

0 投票
1 回答
503 浏览

python - 前向声明 - django 中没有管理页面?

这可能是一个数据库设计问题,但我想不出更好的办法。在其他几个中,我有这些模型:

所以基本上,我有一个用户实体,它与乐队实体有多对多的关系。转折是我想要一个特殊的用户,他在网站上“创建”了乐队,以拥有特殊的编辑能力。于是我往前走,添加了一个名为 creator 的外键。代码无法运行,因为 Band 在源代码中位于 User 之后。所以我转发声明class Band(models.Model): pass。遗憾的是,这似乎不是一个好主意,因为现在 Band 是唯一一个在 django admin 中不显示任何界面元素的模型(Bands 模型在那里,只是无法编辑)。

我的问题是,我应该对模型进行哪些更改才能使其正常工作?(如有)

0 投票
1 回答
2146 浏览

python - Python:如何摆脱涉及装饰器的循环依赖?

我有以下循环导入的案例(这里非常简化):

array2image.py转换模块:

tuti.py测试工具模块:

它因 NameError 而失败。这对我来说看起来不对,因为那里确实没有循环依赖。我一直在寻找一种巧妙的方法来避免这种情况或解释......在写这个问题的中途我找到了它。

import下面的装饰器移到tuti.py解决 NameError 中:

0 投票
6 回答
8922 浏览

c++ - 循环 C++ 头文件包括

在一个项目中,我有 2 个类:

// mainw.h

// IFr.h

但我无法编译这段代码,static IFr ifr;在行出现错误。这种交叉包含是否被禁止?