装饰模式(添加行为)
一、 定义:通过组合,装饰者模式动态的将责任添加到对象上,从而扩展对象的行为功能。在不修改底层实现的前提下,为对象赋予新的职责。使用组合的方式而不是继承的方式,组合比继承更适合扩展。
二、 概述:
a) 装饰者和被装饰对象都有相同的超类型,所以在需要被装饰者对象的场合都可以使用装饰者对象代替
b) 装饰者可以在所委托被装饰者的行为之前或之后,加上自己的行为,从而达到特定的目的(实现行为的添加)
c) 对象可以在任何时候被修饰,可以在运行时动态的,不限量的被任意个装饰者装饰
d) 有点像俄罗斯套娃,每一层都可以赋予新的功能,可以套很多层。
三、 类图
四、 实现伪代码a) 组件
Interface Component{
void func1(){};
void func2(){};
}
b) 具体组件
Public class ConreteComponent implements Component{
void func1(){};
void func2(){};
}
c) 装饰者
Public class