装饰器模式(Decorator Pattern)
装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许你动态地给对象添加新的功能,而不改变其原有的结构。这种类型的设计模式创建了一个装饰类,用来包装原有的类,从而在不修改原有对象的情况下扩展其功能。
体现的设计原则
- 单一职责原则:每个装饰器只负责一个特定的功能扩展,使得代码更易于维护和复用。
- 开闭原则:可以在不修改现有代码的情况下通过创建新的装饰器来扩展功能。
- 组合优于继承:通过组合而不是继承来增加功能,避免了子类数量的爆炸式增长。
示例场景
假设我们在开发一个文本编辑器,基础功能是显示纯文本,但我们希望能够在不影响现有功能的情况下,逐步增加如加粗、斜体等格式化功能。
Java 代码示例
// 抽象组件 - 文本接口
interface Text {