|
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kr2000 于 2011-7-11 11:15 发表 ![](http://www.oursteps.com.au/bbs/images/common/back.gif)
乱码兄已经数次提到这个ioc了
我每次都去search一下,还是不懂
能不能用个浅显的例子解释一下Dependency Injection
我看到一句解释:The goal is to break your piece of software down to a bunch loosely coupled co ...
如果你在class1中用class2, as its member,通常的作法是new,这就使class1和class2 high couple了。
如果以后你的Business requirement今后变了,引入class3来代替class2,就要refector.
这时就会用pattern,create interface/abastract class,say interface23,让class2和class3来implement,所有的code都是针对这个interface23来做。
但这个interface同样在我们的code某个地方需要instantiate,这时IOC container就kicks in,根据我们的configuration/code来做一个objects graph,可能有很多level的dependency,来帮助你instantiate object.
最常用的方式是constructor injection,这种最直接,没什么ambiguity。
这东西听起来很玄,可能需要些pattern的基础才能理解的很好.
不知道我这么解释是不是清楚。
[ 本帖最后由 乱码 于 2011-7-11 12:05 编辑 ] |
评分
-
查看全部评分
|