问题标签 [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 投票
4 回答
17741 浏览

.net - 使用依赖注入解决循环依赖

我在各种网站上看到了几篇文章,这些文章建议通过使用依赖注入来解决 .NET 程序集之间的循环依赖关系。这可能会解决构建错误,但它并没有真正解决循环依赖,是吗?对我来说,架构中似乎仍然存在逻辑错误。我疯了还是别人同意?

  1. 这是对 DI 的不太出色的使用吗?
  2. 不是解决循环依赖问题的合适方法吗?
0 投票
1 回答
1123 浏览

apache-flex - flex 库中的循环依赖

我有两个相互引用的 Flex 库。两者都使用链接类型“ External”,然后我使用 Loader 类手动加载。

我收到错误“ A cycle was detected in the build path of project: foo”。

有没有办法解决这个问题?也许是编译器的参数或其他东西。

我不认为应该有问题,因为external链接类型的源代码不会被编译到库中......

0 投票
7 回答
79689 浏览

python - Python中的循环导入依赖

假设我有以下目录结构:

a包中__init__.pyc包被导入。但c_file.py进口a.b.d

程序失败,尝试导入b时说不存在。(它真的不存在,因为我们正在导入它。)c_file.pya.b.d

如何解决这个问题?

0 投票
3 回答
638 浏览

python - 在同一进程中使用不同版本的 python 库

我们有一个正在开发的 python 库。在开发过程中,我想使用该库的某些部分来测试它的较新版本。也就是说,使用稳定的代码来测试开发代码。有没有办法在python中做到这一点?

编辑:更具体地说,我们有一个库(LibA),里面有很多有用的东西。此外,我们还有一个使用 LibA 的测试库,以提供一些测试工具 (LibT)。我们想使用 LibT 测试 LibA,但由于 LibT 依赖于 LibA,我们希望它在测试 LibT 时使用稳定版本的 LibA(因为只有在测试通过后,我们才会将 LibT 更改为与较新的 LibA 一起使用等)。因此,在运行单元测试时,LibA-dev 测试将使用依赖于 LibA-stable 的 LibT 代码。

我们提出的一个想法是在不同的进程上使用 RPyC 调用稳定的代码,但是以密封的方式实现是很棘手的(确保它正确死亡等,并允许多个实例同时执行同一台计算机等)。

谢谢

0 投票
2 回答
2067 浏览

objective-c - 可能的循环引用问题

我不是白痴,但头文件有时让我觉得自己像个白痴。我有一个可能过于复杂的设置,它有一个我无法解决的错误。这是我能做到的尽可能简单的细节......

  • 我有一个包含模型类的控制器类。
  • 我有一个场景类来捕获动作并与控制器通信。
  • 我有一个与模型类对话以输出模型状态的图层类。
  • Scene 类包含仅用于输出的 Layer 类。
  • 场景必须包含 Cocos2D 框架确定的层。
  • 特定的场景类派生自持有对控制器类的引用的 RootScene 类。
  • 特定的 Layer 类派生自 RootLayer 类,该类包含对 Model 类的引用。
  • Controller负责创建Scene,Scenes负责创建Layer。

当创建一个层并将控制器的模型传递给层的模型(在 中AScene.m)时,问题就出现了。我收到“在非结构或联合的情况下请求成员‘模型’”。铸造不起作用,我不知道如何让这些类相互交谈。我认为部分问题可能是 Controller 类包含 Model 类。

控制器.h

控制器.m

根场景.h

根场景.m

AScene.h

AScene.m

根层.h

根层.m

图层.h

图层.m

0 投票
3 回答
350 浏览

c# - 我应该如何在 .NET 中安排我的项目/课程以避免循环依赖

我的程序试图在 C# & WPF中绘制语法。我有:

1 DataStructure 项目,描述了应如何可视化的树形结构。树中的每个节点都与语法中的一个符号相关。顶部的节点定义了该非终结符的规则。

1 Drawer 项目,描述 WPF 中的用户控件。

我需要在我的数据结构中引用抽屉,因为当我遍历树时,我调用DataStructure.draw(); 在每个节点上。我还需要在我的抽屉项目中引用数据结构,以便我可以响应用户单击我的 GUI,它将更新数据结构。

这会产生循环依赖,我曾尝试使用控制器类,但我不知道:/

0 投票
2 回答
241 浏览

.net - 预计即将到来的 .Net 项目构想中可能出现循环引用情况……有什么需要注意的吗?

所以我有了这个数据访问层,我也想登录到数据库。本着吃我自己的狗粮的精神,我想使用我的数据访问层来做日志记录。但是,我也想记录数据访问本身。像这样:

我是否有陷入反馈循环的风险?如果是这样,我应该如何避免它?项目的引用是否会相互循环并导致构建困难?您过去是如何成功地接近这种(反?)模式的?

0 投票
3 回答
4928 浏览

c# - 依赖注入可以防止循环依赖吗?

项目#1 有一些项目#2 引用的接口和类。

现在我想在 Project#1 中使用 Project#2 的实现,但是 vs.net 抱怨循环依赖。

如果我要在 Project#1 中使用依赖注入并绑定到 Project#2 中的实现(因为它遵守接口契约),这是否可行,或者我仍然会在运行时收到循环依赖错误消息?

0 投票
2 回答
431 浏览

python - ImportError:模型 A 引用模型 B,模型 B 引用模型 A

我认为这比 Django 更像是一个 python 问题。

但基本上我在 Model A 做:

在模型 B 上:

结果:

无法导入名称 ModelA

我在做被禁止的事情吗?谢谢

0 投票
2 回答
2122 浏览

c++ - C++:模板参数循环依赖

这本身就是一个最佳实践问题,而不是一个语言问题,因为我已经有了一个可行的解决方案来解决似乎是 C++ 中常见的绊脚石。

我正在处理模板参数替换中的典型循环依赖问题。我有以下一对类:

我想将每一个实例化如下:

也就是说,我想将 A 绑定到 B,并将 B 绑定到 A。

我可以通过带有继承技巧的前向声明以粗略的方式解决问题:

但这带来了一系列问题,因为sAsB确实不是AB。例如,如果A不正确地将它们复制到sA中,或者在代码周围以某种方式闪闪发光的类型转换,我就无法调用 's 构造函数。

我的问题是:处理这个问题的最佳实用方法是什么?这个问题有什么特别聪明的解决方案吗?

我同时使用 MSVC2008 和 G++,但欢迎使用具有编译器特定扩展的解决方案。

谢谢,

阿列克