装饰者设计模式
装饰者模式(Decorator):动态的给一个对象添加一些新的功能,就增加功能来说,装饰者模式比继承更加灵活,装饰者更加是体现了开闭原则。
使用场景
装饰者是为已有的功能动态地增加新的功能的一种方式。当你设计的系统里需要增加新的功能的时候(向旧的类中加新代码)。这些新加的代码通常装饰了原有类的职责或者主要行为。
实现逻辑:把每个要装饰的功能放在单独类中,并让这个类包装它所需要装饰的对象,因此,当需要执行特殊行为时,客户代码就可以在运行时根据需要有选择的、按顺序的使用装饰功能包装对象了。
例子
在Spring中的应用
实现⽅式:
Spring中⽤到的包装器模式在类名上有两种表现:⼀种是类名中含有Wrapper,另⼀种是类名中含有Decorator。
实质:
动态地给⼀个对象添加⼀些额外的职责。 就增加功能来说,Decorator模式相⽐⽣成⼦类更为灵活。