【发布时间】:2009-01-27 07:44:42
【问题描述】:
我正在尝试使用 IOC 容器在我的应用程序中创建初始对象图。
我有一个主窗体。此表单依赖于一个 MenuStrip,该 MenuStrip 依赖于多个 MenuStripItem。一些 MenuStripItems 依赖于 MainForm。
目前我为构造函数注入设置了所有依赖项。显然,现在解析 MainForm 会导致堆栈溢出,因为 MainForm 的 MenuStripItem 依赖项会尝试解析 Mainform 等...
解决这种循环依赖的最佳方法是什么?
【问题讨论】:
-
我很好奇您在涉及 IOC 容器之前如何处理循环引用...您是否有一个单元测试来处理表单的所有依赖项?
-
在使用 IOC 之前,我的 MainForm 可以使用 Singleton 全局访问。
-
循环依赖的一些参考:stackoverflow.com/a/37445480/1371329
标签: design-patterns inversion-of-control