Decorator 装饰器模式允许我们根据运行时不同的情景动态地为某个对象调用前后添加不同的行为动作
以奇迹暖暖这种换装游戏为例,我们需要实现动态的换套装,或者混搭
我们先创建好装饰器接口:
1 | interface Decorator |
实现一个警察装扮:
1 | class PoliceDecorator implements Decorator |
再实现一个护士装扮:
1 | class NurseDecorator implements Decorator |
最后实现一个穿衣服的人:
1 | class Person |
现在我们可以创建一个混搭女生青年了:
1 | $girl = new Person; |