继承与委托,以及委托的细分
- 继承与委托
继承与委托都服务于代码复用;
继承:白盒框架中,通过代码层面的继承进行框架扩展
委托:一个对象请求另一个对象的功能;黑盒框架,通过实现特定接口/delegation进行框架扩展
很多设计模式将继承和委托结合使用:

- 委托的细分
1. dependency:临时性的委托

在调用方法时传入参数以实现特定的方法;
2. association:永久性的委托

通过构造器实现委托方法的永久化;
3. composition: 更强的association,但难以变化

在属性部分即确定该类所实现的方法,固难以变化
4. aggregation:更弱的association,可动态变化

同association一样,使用构造器初始化,且提供了set方法改变初始化的值,故相对association易于变化(实际上就是不需要再new一个)

浙公网安备 33010602011771号