依赖注入
“家人” => "外人"
See objects as services
依赖于抽象,而不是实现
依赖注入是一个过程:
1)客户端依赖于服务类接口(注入点)
2)客户类不直接实例化具体服务类
3)上下文注入具体服务类给客户类
常见实现方式:
Setter注入、构造注入、接口注入(应用于不同活跃的的多态性)
已有框架:
spring、spring.net、Guice、Unity……