circular-dependency相关内容

类之间的循环依赖:它们为什么不好,如何消除它们?

我觉得循环依赖(又称循环引用)意味着糟糕的设计并损害项目。我如何才能说服我的队友和经理? 我的项目是一堆依赖项。有没有一种方法可以消除错误的依赖,然后保持清晰度? 推荐答案 为什么循环依赖(CID)不好? 两个原因: 可维护性。 您希望您的代码是分层的,即您希望有一个自上而下的依赖关系图(该图显示所有箭头向下,没有向上箭头)。 如果您有CID,则您的代码不是分层的。 ..

js:动态模块中的循环依赖

当动态模块之间存在循环依赖时,导入动态模块的正确方式是什么?我只是将forwardRef(() => MyModule)更改为forwardRef(() => MyModule.forRoot()),但收到Nest can't resolve dependencies错误。 推荐答案 处理嵌套模块依赖关系的最佳方法是始终通过模块而不是通过服务导入依赖关系。如果您遇到循环依赖,Nest将 ..
发布时间:2022-03-04 21:17:54 其他开发

C++:概念循环包含问题

我正在为游戏引擎制作基于组件的实体系统. 我有一个实体类,它必须包含组件基类标头才能定义组件数组private Component* components[123] 然而,在组件基类中我必须定义一个private Entity* ownerEntity,因为组件知道它属于谁是至关重要的! 这导致 Entity.h 需要 Component.h,反之亦然 -> 循环引用 我该 ..
发布时间:2022-01-25 18:57:07 C/C++开发

使用 Node.js require 和 CoffeeScript 中的类解决循环依赖

我想知道在使用 CoffeeScript 类和 super 时,是否有一种方法可以惯用地避免 Node.js 的 require 的循环依赖问题.给定以下简化的 CoffeeScript 文件: 一杯咖啡: C = 需要'./c'B = 需要'./b'A 类扩展 C乙:乙一些方法:->极好的module.exports = A b.coffee: C = 需要'./c'A = 需要'. ..

可能的循环引用问题

我不是白痴,但头文件有时让我觉得自己像个白痴.我有一个可能过于复杂的设置,它有一个我无法解决的错误.这是我能做到的尽可能简单的细节...... 我有一个包含模型类的控制器类. 我有一个 Scene 类来捕捉动作并与控制器通信. 我有一个 Layer 类,它与 Model 类对话以输出 Model 的状态. Scene 类包含仅用于输出的 Layer 类. 场景必须包含 Cocos2D ..

编译循环依赖是如何工作的?

我已经用 Java 制作了示例,但我认为(未经测试)它适用于其他(所有?)语言. 您有 2 个文件.一、M.java: 公共类 MType {X型x;MType() {x = null;}} 二、另一个文件(同目录),XType.java: 公共类 XType {M型米;公共 XType(MType m) {this.m = m;}} 好吧,这是一个糟糕的编程,但如果你运行 java ..
发布时间:2022-01-17 08:12:50 其他开发

关于如何避免 Go 中的导入循环有什么好的建议吗?

我在一个 Go 项目上工作了一个月.好消息是 Go 确实非常高效.但是经过一个月的开发,我已经有了数千行代码和许多包.避免导入周期对我来说是一个主要问题,每当我遇到导入周期错误时,我第一次不知道问题可能出在哪里. Go 编译器也只有非常简单的通知,总是不足以快速定位问题,例如:main.go:7:3: import cycle not allowed.它只会帮助您了解哪个文件可能导致问题,但 ..
发布时间:2022-01-15 22:40:49 其他开发

远期申报循环依赖

我有两个类,Entity 和 Level.两者都需要访问彼此的方法.因此,使用#include,就会出现循环依赖的问题.因此为避免这种情况,我尝试在 Entity.h 中转发声明 Level: 类级别 { }; 但是,由于实体需要访问 Level 中的方法,它不能访问这些方法,因为它不知道它们存在.有没有办法在不重新声明实体中的大部分级别的情况下解决这个问题? 解决方案 正确的前向声明 ..
发布时间:2022-01-15 22:27:28 C/C++开发

discord.py 循环导入(AttributeError:部分初始化模块'discord')

我正在尝试编写一个 Discord 机器人,但该机器人无法启动并引发此错误: AttributeError: 部分初始化的模块 'discord' 没有属性 'Client' (很可能是由于循环导入) 解决方案 你的标题(在你有任何函数或方法调用之前)应该包括以下项目: 导入不和谐从 discord.ext 导入命令 您还需要初始化您的 discord 客户端.在这种情况下,客户端代表您 ..
发布时间:2022-01-15 08:04:11 Python

C++ 循环头包括

我知道之前有人问过与此类似的问题,但经过研究后,我仍然对循环标题包含有疑问. //FooA.h#ifndef H_FOOA#define H_FOOA#include "foob.h"类FooA{上市:FooB *fooB;};//FooB.h#ifndef H_FOOB#define H_FOOBFooA 类;类FooB{上市:富阿*富阿;}; 现在,如果我有两个循环依赖项,这就是我在 st ..
发布时间:2022-01-11 16:41:06 C/C++开发

C++ 循环包含

我无法解决这个循环依赖问题;总是得到这个错误:“不完整类型结构 GemsGame 的无效使用"我不知道为什么编译器不知道 GemsGame 的声明,即使我包含 gemsgame.h两个类相互依赖(GemsGame存储了一个GemElements的vector,GemElements需要访问这个vector) 这是GEMELEMENT.H的部分代码: #ifndef GEMELEMENT_H ..
发布时间:2022-01-11 16:11:34 C/C++开发

循环 C++ 头文件包括

在一个项目中,我有 2 个类: //mainw.h #include "IFr.h"...类mainw{上市:静态 IFr ifr;静态 CSize=100;...}; //IFr.h #include "mainw.h"...IFr级{公共浮动[mainw::CSize];}; 但我无法编译此代码,在 static IFr ifr; 行出现错误.这种交叉包含是否被禁止? 解决 ..
发布时间:2022-01-05 20:06:00 C/C++开发

GraphQL 循环依赖

我对 javascript 还很陌生,目前正在学习使用 Node.js 实现带有 MongoDB 后端的 graphQL API.我遇到了两种类型之间循环依赖的问题. 基本上,我有一个经典的博客文章/博客作者情况.一篇文章只有一个作者,因此猫鼬模式包含对该作者的引用. 在我的 graphQL 类型“作者"中,我想添加一个字段“帖子",它允许我从作者导航到他们撰写的所有帖子.引用没有在数 ..
发布时间:2022-01-04 11:00:58 前端开发

节点 - GraphQL - Ad.user 字段类型必须是输出类型但得到:未定义

我似乎在 AdType 中使用 UserType 时遇到循环依赖问题. 这是我的用户类型文件:用户类型 这是我的 AdType 文件:广告类型 如果我尝试使用下面的代码,即使我正确导入了 UserType,我也会收到错误“Ad.user 字段类型必须是输出类型但得到:未定义". import { UserType } from '../User/user.graphql.mod ..
发布时间:2022-01-04 10:40:20 其他开发

使用循环引用动态创建 graphql 模式

通过使用graphql-js,我需要通过迭代一些数据的数组来动态创建graphql模式,例如: [{name: '作者',字段:[{字段:'名称'}, {字段:'书籍',参考书'}]}, {name: '书',字段:[{字段:'标题'}, {字段:'作者',参考:“作者"}]}] 问题是循环引用.当我创建 AuthorType 时,我需要已经创建 BookType,反之亦然. 因此结果架 ..

如何避免 MySQL 中的循环触发器依赖

我在 MySQL 中使用触发器时遇到了一个小问题. 假设我们有 2 个表: 表A 表B 和 2 个触发器: TriggerA:在 TableA 上删除并更新 TableB 时触发 TriggerB:在 TableB 上删除和在 TableA 中删除时触发 问题是,当我删除 TableB 中的某些行时,TriggerB 触发并删除 TableA 中的某些元素,然后 ..
发布时间:2022-01-01 20:51:09 数据库

C++循环包含

我无法解决这个循环依赖问题;总是收到这个错误:“不完整类型结构 GemsGame 的无效使用"我不知道为什么编译器不知道 GemsGame 的声明,即使我包含了 gemsgame.h两个类相互依赖(GemsGame 存储了一个 GemElements 的向量,而 GemElements 需要访问同一个向量) 这是GEMELEMENT.H的部分代码: #ifndef GEMELEMENT_H ..
发布时间:2021-12-31 22:20:34 C/C++开发