依赖注入 - 完全解耦组件的最佳实践?

时间:2010-06-19 15:38:44

标签: language-agnostic dependency-injection

我想使用依赖注入(Unity),目前我正在考虑如何设置我的项目(这是我正在研究的一个花哨的演示)。

因此,要完全解耦所有组件并且没有更多的程序集依赖性,是否建议创建程序集“.Contracts”或类似的东西并将所有接口和共享数据结构放在那里?

您认为这是最佳做法还是我在错误的轨道上?

我想要完成的事情:

完全可测试性,我希望所有组件尽可能地分离并注入所有组件,任何组件都不会直接与具体实现直接对话。

2 个答案:

答案 0 :(得分:3)

第一步也许是最重要的一步是编程接口,而不是具体的实现。

这样做,无论是否使用DI,应用程序都将松散耦合。

答案 1 :(得分:1)

我不会将其他程序集中的接口分开。如果您必须与域中的某些内容进行交互,为什么要将其分开呢?接口的示例是存储库,电子邮件发件人等。假设您有一个模型程序集,其中包含域对象。这个程序集公开了接口,实现显然是引用Model来实现它们。