问题标签 [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.
.net - 使用依赖注入解决循环依赖
我在各种网站上看到了几篇文章,这些文章建议通过使用依赖注入来解决 .NET 程序集之间的循环依赖关系。这可能会解决构建错误,但它并没有真正解决循环依赖,是吗?对我来说,架构中似乎仍然存在逻辑错误。我疯了还是别人同意?
- 这是对 DI 的不太出色的使用吗?
- 不是解决循环依赖问题的合适方法吗?
apache-flex - flex 库中的循环依赖
我有两个相互引用的 Flex 库。两者都使用链接类型“ External
”,然后我使用 Loader 类手动加载。
我收到错误“ A cycle was detected in the build path of project: foo
”。
有没有办法解决这个问题?也许是编译器的参数或其他东西。
我不认为应该有问题,因为external
链接类型的源代码不会被编译到库中......
python - Python中的循环导入依赖
假设我有以下目录结构:
在a
包中__init__.py
,c
包被导入。但c_file.py
进口a.b.d
。
程序失败,尝试导入b
时说不存在。(它真的不存在,因为我们正在导入它。)c_file.py
a.b.d
如何解决这个问题?
python - 在同一进程中使用不同版本的 python 库
我们有一个正在开发的 python 库。在开发过程中,我想使用该库的某些部分来测试它的较新版本。也就是说,使用稳定的代码来测试开发代码。有没有办法在python中做到这一点?
编辑:更具体地说,我们有一个库(LibA),里面有很多有用的东西。此外,我们还有一个使用 LibA 的测试库,以提供一些测试工具 (LibT)。我们想使用 LibT 测试 LibA,但由于 LibT 依赖于 LibA,我们希望它在测试 LibT 时使用稳定版本的 LibA(因为只有在测试通过后,我们才会将 LibT 更改为与较新的 LibA 一起使用等)。因此,在运行单元测试时,LibA-dev 测试将使用依赖于 LibA-stable 的 LibT 代码。
我们提出的一个想法是在不同的进程上使用 RPyC 调用稳定的代码,但是以密封的方式实现是很棘手的(确保它正确死亡等,并允许多个实例同时执行同一台计算机等)。
谢谢
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
c# - 我应该如何在 .NET 中安排我的项目/课程以避免循环依赖
我的程序试图在 C# & WPF中绘制语法。我有:
1 DataStructure 项目,描述了应如何可视化的树形结构。树中的每个节点都与语法中的一个符号相关。顶部的节点定义了该非终结符的规则。
1 Drawer 项目,描述 WPF 中的用户控件。
我需要在我的数据结构中引用抽屉,因为当我遍历树时,我调用DataStructure.draw(); 在每个节点上。我还需要在我的抽屉项目中引用数据结构,以便我可以响应用户单击我的 GUI,它将更新数据结构。
这会产生循环依赖,我曾尝试使用控制器类,但我不知道:/
.net - 预计即将到来的 .Net 项目构想中可能出现循环引用情况……有什么需要注意的吗?
所以我有了这个数据访问层,我也想登录到数据库。本着吃我自己的狗粮的精神,我想使用我的数据访问层来做日志记录。但是,我也想记录数据访问本身。像这样:
我是否有陷入反馈循环的风险?如果是这样,我应该如何避免它?项目的引用是否会相互循环并导致构建困难?您过去是如何成功地接近这种(反?)模式的?
c# - 依赖注入可以防止循环依赖吗?
项目#1 有一些项目#2 引用的接口和类。
现在我想在 Project#1 中使用 Project#2 的实现,但是 vs.net 抱怨循环依赖。
如果我要在 Project#1 中使用依赖注入并绑定到 Project#2 中的实现(因为它遵守接口契约),这是否可行,或者我仍然会在运行时收到循环依赖错误消息?
python - ImportError:模型 A 引用模型 B,模型 B 引用模型 A
我认为这比 Django 更像是一个 python 问题。
但基本上我在 Model A 做:
在模型 B 上:
结果:
无法导入名称 ModelA
我在做被禁止的事情吗?谢谢
c++ - C++:模板参数循环依赖
这本身就是一个最佳实践问题,而不是一个语言问题,因为我已经有了一个可行的解决方案来解决似乎是 C++ 中常见的绊脚石。
我正在处理模板参数替换中的典型循环依赖问题。我有以下一对类:
我想将每一个实例化如下:
也就是说,我想将 A 绑定到 B,并将 B 绑定到 A。
我可以通过带有继承技巧的前向声明以粗略的方式解决问题:
但这带来了一系列问题,因为sA
和sB
确实不是A
和B
。例如,如果A
不正确地将它们复制到sA
中,或者在代码周围以某种方式闪闪发光的类型转换,我就无法调用 's 构造函数。
我的问题是:处理这个问题的最佳实用方法是什么?这个问题有什么特别聪明的解决方案吗?
我同时使用 MSVC2008 和 G++,但欢迎使用具有编译器特定扩展的解决方案。
谢谢,
阿列克