结构型模式总共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
装饰模式UML图
装饰器模式是一种用于代替继承的技术,无需通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系,更加灵活,在软件的维护阶段,由于关联关系有较好的松耦合性,因此使得系统更加容易维护。但是,关联关系的缺点是比继承关系要建立更多的对象,增加系统的复杂性,相对容易出错,且对于多次装饰的对象,调试错误较为繁琐。
public abstract class Component { public abstract void operation(); }
public class Decorator extends Component{ private Component component; public Decorator(Component component) { this.component=component; } public void operation() { component.operation(); } }
public class ConcreteDecorator extends Decorator{ public ConcreteDecorator(Component component) { super(component); } public void operation() { super.operation(); addedBehavior(); } public void addedBehavior() { //新增方法 } }
现在有一辆车,现在增加几种行驶方式的功能。
原文:https://www.cnblogs.com/cxl66/p/12657240.html