我有两个相互引用的Flex库。两者都使用链接类型“External
”,然后我手动加载Loader类。
我收到错误“A cycle was detected in the build path of project: foo
”。
有什么方法可以解决这个问题吗?也许是编译器的参数或其他东西。
我不认为应该有问题,因为使用external
链接类型,源代码不会被编译到库中...
答案 0 :(得分:2)
听起来您需要重新考虑您的代码。
也许你可以通过使用接口来一种方式来消除依赖?
如果您可以概述一下依赖关系,也许我或其他人可以就如何重新设计结构提出想法。
修改强>
你真好地给我一个减号...让我引用Wikipedia article关于这个主题:
[...]在软件设计通告中 大软件之间的依赖关系 模块被认为是 反模式因为负面影响。
[...]
循环依赖可能导致很多 软件程序中的不良影响。 最软问题 设计观点是紧张的 相互依赖的耦合 减少或制造的模块 不可能单独重复使用一个 单个模块。
循环依赖可能会导致 当地的小多米诺骨牌效应 一个模块的变化传播到 其他模块,并有不必要的全局 效果(程序错误,编译 错误)。循环依赖可以 也导致无限递归或 其他意想不到的失败。
循环依赖也可能导致 通过阻止某些内存泄漏 非常原始的自动垃圾 收藏家(那些使用参考 从未释放未使用的 对象。
[...]
通常是循环依赖 由经验不足的程序员介绍谁需要实施 某种回调功能。 有经验的程序员避免这样做 不必要的循环依赖 应用像这样的设计模式 观察者模式。
(强调添加)
但话说回来,也许你比在维基百科上写的集体更聪明......