装饰模式
2019-04-16 本文已影响0人
fanren
定义
动态给一个对象添加一些额外的职责
场景
需要透明且动态地扩展类的功能时,用到装饰模式
角色划分
- 角色一: 抽象组件
- 角色二: 具体组件
- 角色三: 抽象装饰者
继承抽象组件,持有抽象组件的引用 - 角色四: 具体装饰者
原始案例
装饰模式,就想是我们人类需要穿各种衣服一样,工作人员穿工作服,学生穿校服;
- 角色一:Person
- 角色二:Student
- 角色三:PersonClothes
- 角色四:StuentClothes
demo