什么是装饰模式?
动态地给一个对象添加一些额外的职责。
装饰模式也称为包装模式,本着对客户端透明的方式来动态扩展对象的功能。相比增加功能来说他比继承生成子类更加灵活,使用更加简便。
装饰模式适用场景
需要透明地动态扩展类的功能(比如奶油蛋糕本体是奶油蛋糕,扩展需要加水果或者花朵装饰物,而装饰物的品类是动态添加种类也不固定的)
装饰模式用例
人是被装饰的本体,性别分为男女等。装饰类有上衣、裤子、裙子等。
UML类图:
Person类:
public abstract class Person {
abstract void dressed();
}
Boy类:
public class Boy extends Person {
@Override
void dressed() {
Sy