问题标签 [cyclic-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 回答
176 浏览

c - 试图在 C 中定义两个可靠的结构

当第二个结构使用第一个作为数组成员并且自身有两个指针成员时,我试图在 C 中定义两个结构。

Visual Studio 不喜欢我的代码:

语法错误:“}”
语法错误:标识符“tokenListNode”
语法错误:在“*”之前缺少“{”

知道如何解决这个问题吗?

--> 请注意,无论有没有我在代码开头添加的声明,都会出现错误。

--> 另外,如果有人能向我解释一下结构体大括号前后的标识符有什么区别,我将不胜感激。

下面是代码:

0 投票
2 回答
354 浏览

c++ - 调用循环依赖类的成员方法

我正在尝试设置一个模拟程序。模拟运行了多个步骤,模拟类应该调用一堆不同类的 ::step(),其中一个是 _experiment 类。

我无法让它工作,因为实验类需要模拟类,而模拟类需要知道实验类是什么,所以它们是循环依赖的。我已经尝试通过使用前向声明来解决它,但是我无法访问前向声明类的方法。那么,前向声明的意义何在?谁能帮我?谢谢!

主文件

实验.cpp:

实验.h:

模拟.cpp:

模拟.h:

0 投票
16 回答
120832 浏览

node.js - 如何处理 Node.js 中的循环依赖

我最近一直在使用 nodejs 并且仍然掌握模块系统,如果这是一个明显的问题,我深表歉意。我想要的代码大致如下:

a.js(与节点一起运行的主文件)

b.js

我的问题似乎是我无法从 ClassB 的实例中访问 ClassA 的实例。

是否有正确/更好的方法来构建模块以实现我想要的?有没有更好的方法在模块之间共享变量?

0 投票
1 回答
135 浏览

c++ - 解决模板中的循环依赖

我正在尝试使用Boost实现一个名为Node的类的斐波那契指针堆。

到现在为止还挺好。但我也想在 Node 类中存储堆元素的句柄。Boost 特别提到“句柄可以存储在 value_type 中”。Boost 但是,我不能在类中定义比较运算符,因为堆从不使用它,只比较指针值。

但是定义一个作为模板参数传递给 fibonacci_heap 的比较结构会引入循环依赖:

Node 依赖于 HeapHandle,HeapHandle 依赖于 Node。

0 投票
1 回答
1868 浏览

java - JAVA/JNI - 加载具有循环依赖的本机 DLL

我尝试使用 JNI 在我的 Java 项目中加载 C++ 代码。我有许多要加载的 DLL,不幸的是,它们之间存在循环依赖关系:dll A 需要 dll B,而后者又需要 dll A!我知道在 DLL 之间具有循环依赖关系是一种糟糕的编程设计,但在我的项目中,C++ 代码对我来说是一个黑匣子。

有没有办法加载具有循环依赖的DLL

我的代码很简单:

Java 库路径没有问题,并且包含两个 DLL(它作为 VM 参数给出,我将其转储并在运行时检查它)。循环依赖由 Dependency Walker 确认。

错误是:

我的项目是在 Eclipse (Helios) 中作为部署在 tomcat 6 服务器上的动态 Web 项目开发的。

0 投票
4 回答
2637 浏览

c++ - C++ 类相互依赖导致循环依赖错误

我的搜索使我相信我遇到的问题称为循环冗余。我不明白发布的任何解决方案。我(相当)是 C++ 新手,来自强大的 Java 背景。

基本上有两个相互依赖的类。A 类包含 B 类对象的向量,B 类包含需要 A 类对象作为输入的方法。

这是重现问题的代码。

根据codelite g++,错误在school.h中并且是“人没有在这个范围内声明”。它还说“模板参数 1 无效”和“模板参数 2 无效”。然后是其他几个,关于所有被调用的向量函数的非类类型“int”。

主文件

学校.h

学校.cpp

人.h

个人.cpp

0 投票
4 回答
66241 浏览

maven - 如何解决 Maven 中的循环依赖?

我们如何解决 Maven 循环依赖?

假设 A 是父项目,B 和 C 是子项目。如果 B 依赖于 C 并且 C 依赖于 B,除了拥有不同的项目之外,还有什么方法可以解决循环依赖关系。

0 投票
1 回答
9239 浏览

java - Guice 在不使用 @Singleton 的情况下将单个实例注入多个对象

我正在阅读 Guice 文档,遇到了一个标有消除循环(推荐)的部分,这引起了我的兴趣,因为这正是导致我今天阅读文档的问题。

基本上,为了消除循环依赖,您“将依赖案例提取到一个单独的类中”。好吧,没什么新鲜的。

所以,在这个例子中,我们有。

您有 aStore和 aClerk并且每个都需要引用CustomerLine. 这个概念没有问题,并且可以通过经典的依赖注入轻松实现:

这很容易,但是现在,我需要使用 Guice 注入来做到这一点。因此,我的问题是实施以下内容:

您可能希望确保 Store 和 Clerk 都使用相同的 CustomerLine 实例。

是的,这正是我想做的。但是我如何在 Guice 模块中做到这一点?

我用我的模块创建了一个注入器:

现在,我想要一个实例Store

CustomerLine这会将 的和的新实例注入BossStore. Boss但是,获得一个实例,Clerk其中也注入了一个CustomerLine. 此时,它将是一个新实例,与注入的实例不同Store

重新审视问题

  • 如何在这个序列中共享相同的实例,而不Store使用?Clerk@Singleton

请让我知道是否需要更多信息,或者这个问题的表述不够清楚,我一定会修改。

0 投票
1 回答
1822 浏览

c# - DDD的基础设施和模型层/项目之间的循环依赖

我正在关注 C#.NEt 中的域驱动模型一书。我在基础架构和域层之间存在循环依赖关系(两者都是我的解决方案的类库项目,即“ShareManagement”)。我想知道如何摆脱 Visual Studio/C#.NET 中的循环依赖问题。

  1. 模型对基础设施层的依赖性:当然,领域层使用基础设施层,使得模型层中的对象依赖(调用)基础设施层中的对象(如基础设施层中定义的存储库是从域模型层访问使用基础设施层中定义的ICompanyRepository实现IRepository<T>)。

  2. 基础设施对域模型类的依赖性:但是,在基础设施层中,我的实体框架(实体工厂)需要实现IEntityFactory<T>where Tis EntityBase(域模型层中的实体类从基础设施层中的 EntityBase 派生;EntityBase 是所有实体的基类)。

以下是基础设施层中的类(在“存储库”文件夹下):

0 投票
1 回答
289 浏览

recursion - F#中函数之间的循环依赖

我正在尝试打破下面的这种循环依赖,但不确定最好的方法。

使用这个答案中的一些逻辑,我想出了以下解决方案,但性能真的很差。

无论如何要重写 cashClosingBalance 函数来停止过多的递归调用,如下面的输出所示?我真的需要能够输入高达 400 的 t 值,并且它仍然可以在几秒钟内运行。