【发布时间】:2011-03-27 23:33:07
【问题描述】:
我想在一个小型但不断发展的项目中首次尝试使用 DI/IoC 框架,并且我不想通过引入庞大的依赖项来过多地干扰项目。该项目本身的部分目的是用作其他项目中的库,我不想让用户管理额外的依赖项。这也是一个品味问题——我觉得组件的大小应该与我实际需要的服务数量成正比。我讨厌将一个庞大的组件与它自己的依赖项结合起来,只使用它的一小部分。
那么,对于 .NET,是否有一个小型 DI/IoC 框架可以编译成一个 DLL,除了标准库之外没有依赖项,(如果需要)可以直接嵌入到使用它的程序集中,并且强调基于代码/流畅(相对于 XML)的布线?它必须不需要 .NET 框架 4.0。
【问题讨论】:
-
如果你只想要控制反转,你根本不需要库。只需通过类的构造函数注入依赖项即可。
-
现在这就是我正在做的事情。然而,连接起来开始变得有点麻烦,我知道随着项目的发展它会变得更糟。 (这是一个由许多组件组成的编译器项目,应该可以将组件换成其他组件......)
-
我同意罗伯特的观点。通过在代码中注入依赖项,您也可以获得编译器的好处。我通常在 Main() 方法中连接我的应用程序。
标签: c# .net frameworks dependency-injection