java程序设计开发,设计思想开源框架-结构型模式之装饰器模式
装饰器模式概述
定义
装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许向一个现有的对象添加新的功能,同时又不改变其结构。该模式以对客户端透明的方式扩展对象的功能,是继承的一种替代方案。
核心角色
- 组件接口(Component):定义了对象的基本操作,是具体组件和装饰器的公共接口。
- 具体组件(Concrete Component):实现了组件接口,是被装饰的原始对象,定义了基本的行为。
- 抽象装饰器(Decorator):实现了组件接口,持有一个组件对象的引用,用于为具体组件添加额外功能。
- 具体装饰器(Concrete Decorator):继承自抽象装饰器,负责为具体组件添加具体的额外功能。
实际应用案例
咖啡销售系统
// 组件接口
interface Coffee {
String getDescription();
double cost();
}
// 具体组件:简单咖啡
class SimpleCoffee implements Coffee {
@Override
public String getDescri