在不改变目标类的基础上对这个类进行加强,可以动态的对目标类进行一些操作。
好处:装饰者设计模式实际上就是替代继承关系的,他比继承更加灵活,耦合性更低。
可以选择性的加强或不加强。
例如:Spring的AOP思想,添加事务
简单Demo:
public class Zsz{public static void main(String[] args) {Work worker1=new Worker1();Work worker2=new Worker2(worker1);System.out.println("增强前:");worker1.work();System.out.println("================");System.out.println("增强后:");worker2.work();}}interface Work {void work();}class Worker1 implements Work {public void work() {System.out.println("写后端代码");}}class Worker2 implements Work{private Work work;public Worker2(Work work) {this.work = work;}public void work() {System.out.println("写前端代码");work.work();System.out.println("测试。。运维。。上线。。维护。。");}}
运行结果:
。
