URL
http://gigix.blogdriver.com/diary/gigix/inc/DependencyInjection.pdf
在我看来,IOC描述的是一种控制权转移的概念,而Dependency Injection描述的是实现IOC的一种具体的方式。
IOC:不在程序中主动创建一个类,设置属性etc,而交给框架去完成。
把由哪个具体类实现推迟到部署阶段决策,真正实现了可插拔的概念。
Dependency Injection
构造子注入(Constructor Injection)
设值方法注入 Setter Injection
接口注入 Interface Injection
PicoContainer,Spring都实现了Dependency Injection
始终觉得Johnson的框架技高一筹。
Service Locator
看不出和Assembler有什么太大的区别,提供Service接口?
针对接口编程,依赖注入 --- 无疑是很灵活,但如果对于系统的一个小模块而言,并且需求在可预见的将来不会有太大的变化,又或者即使有,接口完全不一样了,做这样的设计有必要吗?灵活在另一方面增加了复杂度,虽然现在有良好的框架支持。
在我看来,IOC描述的是一种控制权转移的概念,而Dependency Injection描述的是实现IOC的一种具体的方式。
IOC:不在程序中主动创建一个类,设置属性etc,而交给框架去完成。
把由哪个具体类实现推迟到部署阶段决策,真正实现了可插拔的概念。
Dependency Injection
构造子注入(Constructor Injection)
设值方法注入 Setter Injection
接口注入 Interface Injection
PicoContainer,Spring都实现了Dependency Injection
始终觉得Johnson的框架技高一筹。
Service Locator
看不出和Assembler有什么太大的区别,提供Service接口?
针对接口编程,依赖注入 --- 无疑是很灵活,但如果对于系统的一个小模块而言,并且需求在可预见的将来不会有太大的变化,又或者即使有,接口完全不一样了,做这样的设计有必要吗?灵活在另一方面增加了复杂度,虽然现在有良好的框架支持。