1、 基本介绍
原则是尽量使用合成/聚合的方式,而不是使用继承
如上图的四种方式,从上到下,从左到右依次是:
- 继承:(is a)B可能只是使用A类的某个方法,其他方法并不会使用到;如果A类还被其他类继承,A类的方法一旦改变,会影响到B
- 依赖:(B依赖A)在B中用一个方法将A传入即可
- 组合:(把A组合到B里面)B有个成员变量是A类型的,在构建该属性时就new,即:当B的一个对象实例创建好的时候,B中的属性a也创建好,此时,A和B的关系是组合关系。
- 聚合:(把A聚合到B里面)B有个成员变量是A类型的,用set方法传入
2、 设计原则核心思想
(1)找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。
(2)针对接口编程,而不是针对实现编程。
(3)为了交互对象之间的松耦合设计而努力