Unity,依赖注入的目的

时间:2013-08-20 01:45:48

标签: dependency-injection unity-container

我是Unity / Dependency Injection概念的新手。

我的理解是你使用DI来避免紧密耦合的类结构,但我很难看到它的好处。

我在此链接http://www.refactorthis.net/post/2012/10/25/Dependency-Injection-and-Inversion-of-Control-Ioc-With-the-Microsoft-Unity-Container.aspx上跟随“Unity容器”部分,但我不知道为什么这是“更好” - 它引入了更多代码,但仍然在LoggingModule.cs中我仍然需要这个代码行:

_iocContainer.RegisterType(typeof(ILogger), typeof(DBLogger));

意味着仍然存在依赖关系,但我刚刚把它移到一个隐蔽的位置。我仍然要告诉Unity我想要使用哪个类

这个问题可能会被标记为非建设性的,但我希望被告知其正确性以及如何正确使用Unity / DI。

谢谢, 安德鲁

1 个答案:

答案 0 :(得分:1)

好处是您的服务现在依赖于抽象(ILogger),抽象的解析是容器的责任。此外,您的依赖项的声明以及使用的具体结构和它们的生命周期集中在Composition Root(您在容器中注册依赖项的位置)。

我建议你阅读一本关于依赖注入的好书,其中有几本。