依赖注入和解决方案中的多个项目
本文关键字:项目 注入 解决方案 依赖 | 更新日期: 2023-09-27 18:08:16
我一直在遵循这篇关于存储库模式和UnitOfWork与实体框架的使用的文章。我还计划在即将到来的项目中使用Ninject作为IOC容器。
给出本文中的示例代码,NorthwindData项目中的NorthwindContext类实现了位于NorthwindModel项目内部的IUnitOfWork接口。
我如何利用依赖注入来消除NorthwindModel对NorthwindData的依赖?示例项目中的存储库类看起来好像依赖于IOC容器来注入NorthindContext的实例,我理解这一点。
另外,我是否需要在解决方案中创建第三个项目来容纳DI的东西。有关于如何设置的示例吗?
编辑:我想我上面的问题源于一个更普遍的问题…
有两个项目依赖于从NWData到NWModel的汇编引用是不好的吗?我的假设是,DI将消除这种需要。
要打破从NorthwindModel到NorthwindData的依赖关系,请查看存储库需要从NorthwindContext获得什么。把它拉到接口IDataContext中,在NorthwindModel项目中声明它,然后让NorthwindContext实现它。现在使用DI将NorthwindContext注入到现在只依赖于IDataContext的存储库中。
关于可能的第三个项目:是的,有一个应用程序根项目只负责安装在启动可以是一个好主意。但这取决于范围。