Inf*_*ner 0 c# unity-container
在3层Windows应用程序中,我将在哪里放置包含统一配置的配置文件?如果它位于前层,那么我是否需要在我的所有前端,业务和数据层项目中引用unity.dlls,以便项目识别IUnityContainer接口等?
我在哪里加载配置容器?它会在前层的主方法或数据层中,还是在需要时加载容器?
如果所有内容都放在前层,那么整个项目并不依赖于前层,如果我将前层从Windows App更改为Web应用程序,那么我必须再次进行统一工作!
Unity或任何其他IoC容器应该永远不会在应用程序的初始引导之外的应用程序中扮演角色.它强调不应该进入业务和数据层.
因此,您在Main使用Unity时启动应用程序,然后完成Unity.除此之外,不要让Unity触及应用程序的任何其他部分.
以下是对此主题的详细说明:如何使用Inversion of Control容器和后续从容器中拉出.
如果所有内容都放在前层,那么整个项目并不依赖于前层,如果我将前层从Windows App更改为Web应用程序,那么我必须再次进行统一工作!
如果你已经正确设置了就行了.您不需要Unity来解析应用程序的组件.Unity和其他IoC容器只是解决该问题的非常有用的工具.您应该首先编写您的应用程序,以便不需要Unity.然后,您可以轻松地插入Unity或其他一些IoC容器,以解析应用程序需要运行的组件.
R依赖注入的三个是
注册是在您设置容器时.这在您的应用程序启动时会发生Main.解决方法是解析应用程序的根组件.这就是使应用程序的核心组件协同工作的原因.释放是指应用程序退出并卸下容器以便正确释放组件.请注意,容器永远不会永远不会进入您的应用程序之外.