介绍
装饰模式是一种结构型设计模式,它允许动态地向对象添加新的行为,而不需要修改原有的代码。装饰模式通过将对象包装到装饰器对象中,从而动态地添加新的行为或功能。
角色
角色 | 说明 |
---|---|
Component | 抽象构件 |
ConcreteComponent | 具体构件 |
Decorator | 抽象装饰类 |
ConcreteDecorator | 具体装饰类 |
角色示例
类名 | 担任角色 | 说明 |
---|---|---|
SocialSoftware | 抽象构件 | 社交软件 |
具体构件 | 微信 | |
SetWechat | 抽象装饰类 | 微信设置 |
Voice | 具体装饰类 | 语音 |
Video | 具体装饰类 | 视频 |
UML类图
代码
1 | <?php |
创建 Wechat.php,内容如上。
执行
1 | $ php Wechat.php |