问题标签 [cyclic-reference]
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.
java - 当方法递归时如何重构以避免循环依赖?
我已经编写了将对象转换为所需类型的代码。如果所需的类型是自定义类对象并且它有另一个对象,我们需要递归地转换它。顺便说一句:如果输入是 hashMap,我会知道我需要构造一个对象。如果在 HashMap 中,如果存在另一个 hashMap,那么我需要了解它的对象在对象中。我需要从内部 hashMap 构建内部对象。为了构建它,我将递归调用该方法。我在这里描述的代码。但是这 2 个类 Castor 和 MyBuilder 都变成了循环。我不知道如何打破它。如果方法不是循环的,我们可以打破依赖。但是对于循环,任何人都可以提供帮助吗?我可以引入任何模式或如何重构它?
提前致谢。
代码是这样的:为了更快地访问循环 pl,请参阅:returnValue castPrimitive( .... and void setParameterToEntity.....
} }
java - 循环依赖——总是错的?
1.我想知道以下结构是否不正确,原因是什么,解决方法是什么:假设我已经实现了一个网络游戏客户端客户端有2个主要包:
A.GUI - 保存所有swing Jpanels 等
B.LogicEngine
在逻辑引擎中,我有一个名为 clientThread 的类,其主要目标是与服务器通信以获取要在 Gui 面板上执行的命令,并根据用户在 Gui 面板上的选择发送回信息。
2.为了做到这一点,我倾向于在clientThread中保留我的主Gui面板的引用,反之亦然,在两个不同项目的类之间进行循环引用有那么错误吗?
3.在面向对象编程的问题上,从类中执行要在 Gui 上显示的内容是否是错误的,例如客户端线程,尽管它在逻辑引擎包上,但它以某种方式负责管理游戏流程?
4.如果 Gui 部分知道并使用逻辑部分是否有问题?
想听听一些建议
非常感谢
.net - 如何在 Entity Framework 4.1 中创建没有 CASCADE 的多对多关系?
我正在使用 Entity Framework 4.1 制作一个 MVC3 Web 应用程序。问题是我有一个循环引用并且我得到了一个例外。我明白为什么这是错误的,所以我想从我的多对多关系中删除 ON DELETE/UPDATE CASCADE。问题是我不知道该怎么做......这就是我的问题的描述。这是我的模型:
问题->-。
| |
| |
/|\ |
领域 |
| |
| |
/|\ |
答案-----'
每个问题都有多个字段,每个字段都有多个答案。当我删除一个问题或答案时,我想删除相应的答案。我认为这里不需要做额外的工作。但是,每个答案都可以有多个从属问题(每个问题都可以依赖于许多答案)。这种关系仅在其他问题的答案为“是”时才用于显示问题,例如...现在,如果我删除一个答案,我不想删除所有依赖于它的问题,只删除依赖项。
在我的模型中,问题对象具有:
QuestionAnswer 对象有:
如何在具有以下属性的 DataContext 类中定义 OnModelCreating 事件中的预期行为:
编辑
我找到了解决问题的方法!我手动创建了 QuestionAnswerDependency 对象,如下所示:
我将 QuestionId 属性设置为可为空,这导致 DELETE 上没有 CASCADE 并解决了循环引用。现在 Question 和 QuestionAnswer 对象有一个 QuestionAnswerDependency 对象列表:
我认为 EF 无法自动执行我想要的操作,但如果您知道如何在不创建“中间对象”的情况下实现这一目标,请告诉我。
.net - MongoDb C# Driver 支持循环引用?
我正在考虑移植一个小型项目以使用 Mongo,因为在当前场景中使用 Nhibernate 变得越来越耗时。
我最初尝试了 NoRM,它有一个支持循环引用并且工作正常的分支,但是我找不到任何文档来表明官方 c# 驱动程序是否支持它。
这种情况以及为什么我有一个循环引用是因为我有一个位置对象,其中包含一个道路列表,每条道路都有一个到另一个位置的链接。它非常类似于探路者中的一组简单节点。
现在的问题是我有一个由这些对象构建的整个世界(它们在真实场景中具有更多属性)并且它们都相互链接,但是由于无法处理循环引用,我不确定如何解决这个问题,因为每条道路都需要知道起点和终点。
我知道一种折衷方案是去掉位置对象,取而代之的是一个引用该位置的 Id,但是我必须单独查询每个子位置。这只完成一次,然后保存在内存中,因为有一张巨大的地图,其中包含所有可能的位置和所有可能的路线,因此可以在点之间找到快速路径。
可能是位置和道路不适合文件存储方式的情况,可以以其他方式存储......
c# - Cycle in the struct layout that doesn't exist
This is a simplified version of some of my code:
The problem is the error Struct member 'info' causes a cycle in the struct layout.
I'm after struct like value type behaviour. I could simulate this using a class and a clone member function, but I don't see why I should need to.
How is this error true? Recursion could perhaps cause construction forever in some similar situations, but I can't think of any way that it could in this case. Below are examples that ought to be fine if the program would compile.
edit:
The solution I used was to make "info" a class instead of a struct and giving it a member function to returned a copy that I used when passing it. In effect simulating the same behaviour as a struct but with a class.
I also created the following question while looking for an answer.
c++ - 如何使用 std::shared_ptr 检测或避免循环引用?
我知道有weak_ptr
打破循环,但这是一个修复,在问题被发现后。是否有可用于检测或避免循环引用的模式或工具?
python - django:在models.py中注册监听器和循环导入问题
我正在研究一些信号监听器,它们从模型创建记录。在 django 文档中,据说侦听器应该在 models.py 中注册。因为监听器的行数很大,我想把它们的逻辑从models.py文件中分离出来。就我而言,似乎它已经导致循环导入问题。在保持代码分离的同时避免这个问题的最佳方法是什么?
目前是这样的:models.py
听众.py
wcf - 使用 POCO 实体和 Silverlight 服务的循环引用
我创建了几个 POCO 实体,它们之间有关系。例如,“Individual”实体与“Collection”实体具有 OneToMany 关系。这是我定义它们的方式:
和 Collection 实体:
我的服务是与 Silverlight 兼容的服务,它是这样定义的:
这按预期工作:我收到一个填充有数据成员和空集合数组的单个对象。
但是,一旦我尝试包含关系:
我有一个堆栈溢出异常,这很烦人。我很确定这是一个循环引用错误,但是我尝试了所有解决方案(将 IsReference=true 添加到 DataContract 属性......)。唯一可行的方法是用 Collection 实体中的 IgnoreDataMember 属性替换 DataMember 属性,但是我失去了双向关系,这是我想要这个特定实体的东西......
python - python中的引用循环是什么?
我查看了 python 的官方文档,但我似乎找不到参考循环是什么。任何人都可以澄清它对我来说是什么,因为我正在尝试理解 GC 模块。预先感谢您的回复。