软构笔记-装饰器方法
装饰器模式
Intro
装饰器模式(Decorator Pattern)
用于在不改变一个现有对象的结构的前提下,向其添加新的功能。
Decorator设计模式属于结构型模式,作为对现有类的一个包装。
定义:
Decorator模式通过创建一个装饰类来包装原有的类,并且在保持类方法前面完整性的前提下,提供额外功能。
适用情况:
当你需要更改一个对象的行为时, 第一个跳入脑海的想法就是扩展它所属的类。 但是, 你不能忽视继承可能引发的几个严重问题。
- 继承是静态的。 你无法在运行时更改已有对象的行为, 只能使用由不同子类创建的对象来替代当前的整个对象。
- 子类只能有一个父类。 大部分编程语言不允许一个类同时继承多个类的行为。
Decorator模式结构
![](https://refactoringguru.cn/images/patterns/diagrams/decorator/structure-2x.png?id=3cfa1f10417a4ef0c12580bc4a63b80d)
实例代码:
可看 Reference 1