我对DI概念很新,但我在设计中已经在某种程度上使用它 – 主要是通过’注入’接口到构造函数并让工厂创建我的具体类.好的,它不是基于配置的 – 但它永远不需要. 我开始研究诸如S
我开始研究诸如Spring.NET和Castle Windsor之类的DI框架,并偶然发现了Ayende的这个blog.
我从中得到的是
A)DI框架很棒,但是
B)这意味着我们不必担心我们的系统是如何根据依赖性设计的.
对我来说,我习惯于如何松散地耦合我的系统,但同时对依赖关系进行某种控制.
我有点害怕失去这种控制,它只是一个免费的. ClassA需要ClassB =没问题,只要问,你就收到了!嗯.
或者这就是重点,这就是未来,我应该选择它吗?
思考?
我不会说您不必考虑依赖关系,但使用IoC框架允许您更改满足依赖关系的类型,几乎没有麻烦,因为所有布线都是在中心位置完成的.你仍然需要考虑你需要什么接口,并且正确地使用它们并不总是一件小事.
我没有看到一个松散耦合的系统如何被认为是懒惰的设计.如果您经历了了解IoC框架的所有麻烦,那么您肯定不会采用这种捷径.