我想使用依赖注入(Unity),目前我正在考虑如何设置我的项目(这是我正在研究的一个花哨的演示)。
因此,要完全解耦所有组件并且没有更多的程序集依赖性,是否建议创建程序集“.Contracts”或类似的东西并将所有接口和共享数据结构放在那里?
您认为这是最佳做法还是我在错误的轨道上?
我想要完成的事情:
完全可测试性,我希望所有组件尽可能地分离并注入所有组件,任何组件都不会直接与具体实现直接对话。
答案 0 :(得分:3)
第一步也许是最重要的一步是编程接口,而不是具体的实现。
这样做,无论是否使用DI,应用程序都将松散耦合。
答案 1 :(得分:1)
我不会将其他程序集中的接口分开。如果您必须与域中的某些内容进行交互,为什么要将其分开呢?接口的示例是存储库,电子邮件发件人等。假设您有一个模型程序集,其中包含域对象。这个程序集公开了接口,实现显然是引用Model来实现它们。