目录
1)装饰模式(Decorator)
定义:
动态(组合)地给一个对象增加一些额外的职责。
就增加功能而言,Decorator模式比生成子类(继承)更为灵活(消除重复代码&减少子类个数)
动机:
在某些情况下我们可能会“过度地使用继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀。
结构:
举例:不同流的的操作、加密、缓存
传统的继承方法:
代码重复,结构冗余。
装饰模式:
使用中间类精简结构,使不良的继承变成良好的继承
2)桥模式(Bridge)
定义:
将抽象部分(业务部分)与实现部分(平台实现)分离,使它们都可以独立地变化
动机:
由于某些类型的固有的实现逻辑,使得它们具有两个变化的维度,乃至多个纬度的变化。
结构:
举例:不同平台/版本的通信模块
传统实现方法
桥模式
将不同变化的基类分开继承,从而实现多种组合