装饰模式(Decorator)


装饰模式(Decorator)装饰模式(Decorator)

装饰模式(Decorator)
 

意图:动态地给一个对象添加一些额外的职责。就增加功能来说,D e c o r a t o r 模式相比生成子类更为灵活。

装饰者模式,按我的理解就是对一个职责对象的职责进行扩展或者用不同的装饰对象动态的实现这些职责。

首先,在javax.servlet 包中 ServletRequestWrapper 是 ServletRequest 的装饰, ServletRequest相当于Component ,ServletRequestWrapper 相当于 Decorator (ConcreteDecoratorB),而在装饰者有两种实现方式,一种是定义一个Decorator接口,用ConcreteDecoratorB 来实现这个接口 而 客户端口ConcreteComponent 通过动态的注入ConcreteDecoratorB来达到职责动态话的目的,而另一种方式如servlet中通过覆盖继承类的方式来实现职责动态化的目的。(用到了FilterChain)

注释:新手略记不对请指正