依赖注入和解决方案中的多个项目

本文关键字:项目 注入 解决方案 依赖 | 更新日期: 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的存储库中。

关于可能的第三个项目:是的,有一个应用程序根项目只负责安装在启动可以是一个好主意。但这取决于范围。