Dependency injection 如何解决跨类库的依赖关系?

Dependency injection 如何解决跨类库的依赖关系?,dependency-injection,unity-container,Dependency Injection,Unity Container,我正在使用依赖注入和Unity容器开发一个MVC4应用程序。我能够通过在Web项目中实现IDependencyResolver类来解决依赖关系。在支持类库中,是否有类似的方法在启动时解决依赖关系 在支持类库中,是否有类似的方法在启动时解决依赖关系 直接调用容器或外观(例如依赖解析程序)是一种称为的模式,在本书和中都有描述 因此,不要从类库项目中的类中调用服务定位器,而是使用将类所需的所有依赖项注入其构造函数中的 在支持类库中,是否有类似的方法在启动时解决依赖关系 直接调用容器或外观(例如依赖解析

我正在使用依赖注入和Unity容器开发一个MVC4应用程序。我能够通过在Web项目中实现IDependencyResolver类来解决依赖关系。在支持类库中,是否有类似的方法在启动时解决依赖关系

在支持类库中,是否有类似的方法在启动时解决依赖关系

直接调用容器或外观(例如
依赖解析程序
)是一种称为的模式,在本书和中都有描述

因此,不要从类库项目中的类中调用服务定位器,而是使用将类所需的所有依赖项注入其构造函数中的

在支持类库中,是否有类似的方法在启动时解决依赖关系

直接调用容器或外观(例如
依赖解析程序
)是一种称为的模式,在本书和中都有描述


因此,不要从类库项目中的类中调用服务定位器,而是使用where将类需要的所有依赖项注入其构造函数。

在将依赖项注入构造函数之前,我需要注册依赖项。这在MVC中通过在初始化期间实现IDependencyResolver接口来处理。我想在程序集启动时用业务逻辑注册支持类库的依赖项。我正在寻找一个接口或上下文,以便在类库项目启动时注册依赖项。这些组件是否在其他程序集中定义并不重要。它们都应该在应用程序的启动路径中注册(在MVC中,这是
application\u Start
事件)。这个独特的地方被称为。好的,这似乎是有道理的,但这不会导致MVC项目依赖于支持类库项目吗?我有一个三层应用程序,UI(MVC项目)业务(类库)和数据(类库)。我希望将依赖项从数据项目注入到业务项目中,并从业务项目注入到UI项目中。如果我将所有项目的依赖项注册到UI项目中,我将需要为业务项目和数据项目添加对UI项目的引用,从而创建一个依赖项。@MahmoudHeretani,在中或至少在中阅读服务定位器反模式的描述可能会有用。该模式并不禁止您的特定情况,但它限制了允许您在应用程序中直接调用容器的位置。区别在于的概念。感谢@Steven提供的链接,我将对它们进行深入研究,此外,在将依赖项注入构造函数之前,我已经开始阅读您的书,我需要注册依赖项。这在MVC中通过在初始化期间实现IDependencyResolver接口来处理。我想在程序集启动时用业务逻辑注册支持类库的依赖项。我正在寻找一个接口或上下文,以便在类库项目启动时注册依赖项。这些组件是否在其他程序集中定义并不重要。它们都应该在应用程序的启动路径中注册(在MVC中,这是
application\u Start
事件)。这个独特的地方被称为。好的,这似乎是有道理的,但这不会导致MVC项目依赖于支持类库项目吗?我有一个三层应用程序,UI(MVC项目)业务(类库)和数据(类库)。我希望将依赖项从数据项目注入到业务项目中,并从业务项目注入到UI项目中。如果我将所有项目的依赖项注册到UI项目中,我将需要为业务项目和数据项目添加对UI项目的引用,从而创建一个依赖项。@MahmoudHeretani,在中或至少在中阅读服务定位器反模式的描述可能会有用。该模式并不禁止您的特定情况,但它限制了允许您在应用程序中直接调用容器的位置。区别在于概念的不同。谢谢@Steven的链接,我会给他们一个深入的了解,除此之外,我已经开始读你的书了