我的解决方案中有 4 个 dll 项目。
- MVC 4 网络应用程序
- 业务层
- 数据访问层(实现存储库模式)
- 域(在上述所有项目中引用)
我正在尝试为此架构实现依赖注入。我发现的每个示例都解释了依赖注入在控制器内的构造函数中创建了一个存储库实例,并在存储库上调用了一个 dispose 方法,该方法反过来处理对象上下文,这意味着 DAL 在 Web 层中直接引用。但是,我不想在 web 和 DAL 之间直接引用业务,而应在 web 中引用业务,而应在业务中引用 dal。WEB -> 商业 -> DAL。
我的问题是如何使用上述方法初始化存储库并处理 objectcontext?我是否还需要为我的业务类创建接口并使用它们而不是存储库接口来注入依赖项,然后从具体业务类的构造函数中依次初始化存储库,或者我是否应该在 Web 层中同时引用 DAL 和 BLL,从控制器的构造函数中初始化存储库并将该对象传递给业务层?