1.装饰器模式
装饰器模式(Decorator Pattern)是结构型设计模式的一种,是扩充类功能的一种方式,是继承的替代方案。
2.装饰器模式的原理和实现方法
装饰器模式的原理:在接口内部,对某些功能扩充;采用组合而不是继承方式扩充类的功能。
装饰器模式的实现方法:对原来提供的接口,扩充相应的功能,而只吧接口暴露给使用者。
3.装饰器模式和适配器模式、代理模式的比较
装饰器模式和适配器模式、代理模式的区别和联系是:
1)装饰器模式的功能侧重于功能扩充而不是转换,适配器模式侧重于功能转换,代理模式侧重点在于功能代理(由别的功能部分实现该功能)
2)代理模式其实就是一种对于原有功能的模仿,装饰器则是对原有功能的扩大;
3)这几种模式让功能得到扩展或转换,会经常联系使用。
4.装饰器模式的优缺点
装饰器模式的优缺点:
1)功能扩展灵活,而不依赖继承;
2)可以对同一个对象进行多种装饰;
3)缺点为装饰方式可能比较复杂,如果嵌套太多,容易造成代码可读性变差和出错。
5.装饰模式的实现
装饰器模式的代码实现见我个人的github:
https://github.com/diziqian/DesignPattern/tree/master/DecoratorPattern