依赖注入与耦合:
耦合是程序组件间的联系。
耦合大体上分为两类:
创建型耦合与注入型耦合。
创建型耦合又分为组成型耦合与局部使用型耦合。
组成型耦合:耦合对象为主体对象的组成部分;
局部使用型耦合:耦合对象在主体中临时创建和使用;
注入型耦合分为三类:
1、注入对象在外部创建,注入到主体对象;目的是依赖的灵活性。
2、接口类注入:与对象注入类似,只是将主体的使用范围限制在函数调用上。也有利于保持以来的灵活性。
3、函数注入:函数的生命、使用、定义分离。依赖客体定义函数并将函数的地址注入到依赖主体,在主体中调用函数。
整体而言既是创建并拥有和配置而使用的区别。
介于两者之间的是:
指导型创建,即主体无法自主创建依赖客体,需要外部传入信息指导创建。
依赖的问题,本质上是主体对象怎么创建,并使用客体对象的问题。