【发布时间】:2014-07-10 01:49:10
【问题描述】:
我的解决方案中有三层,Presentation(winforms 项目)、Domain(类库)和 Persistence(类库)。 我正在尝试实现依赖注入来解耦它们。 我的应用程序根在我的表示层中。 我知道唯一一次应该引用 DI 容器(在这种情况下为统一)是在我的应用程序根目录中,否则我将简单地用对我的 DI 容器的依赖项替换整个地方的类依赖项(我想这仍然稍微好一点)。
因此,考虑到这些基础概念,我真的在为具体的实现而苦苦挣扎。也许我的应用程序根目录应该在它自己的单独项目中——也许是一个控制台应用程序。然后我可以解析第一个“overallApplication”类,在其构造函数中列出 IPresentation、IDomain 和 IPersistence。我了解(假设已注册实际实现)统一框架将递归地解决所有相应的子依赖项。
根据您的经验,您能否建议这是否是一种合理的方法。我真的了解解耦的概念和重要性,以及如何通过 DI 从概念上在高层次上解决这个问题,但我正在努力将它们结合在一个具有多层的实际应用程序解决方案中(在 VS 中作为单独的项目组织)。
非常感谢任何有关正确实现示例的帮助或指针。
【问题讨论】:
标签: c# architecture dependency-injection