我正在使用 StructureMap 在我的 ASP.NET MVC 项目中进行 DI。我已将我的库分为以下 3 个 dll。
- 核
- 服务
- 数据(包含存储库)
核心仅包含所有接口和服务,数据包含它们的实现。
现在,当我在网站中设置 StructureMap 时,我需要告诉它扫描服务和数据程序集,因为它们包含核心接口的实现,但这意味着我必须在 Web 项目中引用它们,尽管它取决于服务项目只有这取决于数据项目。
对我来说,在 web 项目中引用这两个 dll 没有意义,因为它破坏了抽象的好处?
如果我需要引用这些程序集,有人可以向我解释一下,那么首先使用单独的接口有什么好处?