继承与委托,以及委托的细分

  • 继承与委托

继承与委托都服务于代码复用;

继承:白盒框架中,通过代码层面的继承进行框架扩展

委托:一个对象请求另一个对象的功能;黑盒框架,通过实现特定接口/delegation进行框架扩展

 

很多设计模式将继承和委托结合使用:

                                    

 

 

 

  •  委托的细分

 1. dependency:临时性的委托

在调用方法时传入参数以实现特定的方法;

 

 2. association:永久性的委托

   

 

通过构造器实现委托方法的永久化;

 

 3. composition: 更强的association,但难以变化

 

在属性部分即确定该类所实现的方法,固难以变化

 

 4. aggregation:更弱的association,可动态变化

 

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

 

posted @ 2022-06-07 23:16  是鸟哥没错  阅读(71)  评论(0)    收藏  举报