6.4 总结

    IoC使得客户专注于客户化的逻辑设计,把程序流程的控制交给外部代码,实现高内聚低耦合目标。

    同样,我们把实例化的过程交给框架/容器来处理,这样就更专注于业务逻辑的开发,这也是轻量级容器迅速发展的一个重要原因。IoC实现实例化的方式主要有两种:一种是使用服务定位器,另外一种是使用依赖注入。依赖注入的Setter注入和Constructor注入是最常见的注入方式,代码往往不会受到容器/框架的入侵,可以在多种轻量级容器上移植,而其他方式或多或少都受到容器/框架代码的入侵。

    关于IoC/DI这方面流行的轻量级框架有Spring框架、Guice、Picocontainer等,前面也使用它们编写了一些简单的实例代码进行说明,感兴趣的读者可以访问相关网站作更深入研究。

    Martin Fowler有一篇精彩的文章讲述IoC和DI之间的关系,链接地址为:http://martinfowler.com/articles/injection.html