装饰模式

动态地扩展对象的功能
装饰模式[1]是一种设计模式,在不需要更改原有类文件和使用继承的情况下,能够动态地扩展一个对象的功能。这种模式通过创建一个包装对象,即装饰者,来封装实际的对象。

定义

装饰模式,又称Decorator[2] Pattern,是23种设计模式之一。它允许在运行时动态地向一个对象添加新的行为,而不必修改原有的类。装饰模式通过创建一个包装对象,即装饰者,来封装实际的对象。

特点

装饰对象与真实对象具有相同的接口,这使得客户端对象能够以与真实对象相同的方式与装饰对象交互。