Decorator模式

来源:互联网 发布:nginx rtmp module性能 编辑:程序博客网 时间:2024/05/18 02:12

Decorator模式有点类似于Java中的继承,但有很大区别。其可以在不改变原始类的源码或使用继承的情况下,动态扩展对象(不是类)的功能。Decorator其实是一种对象wrapper(包装器)。

特征:

1、Decorator对象与底层对象有相同的接口,这使得client object可以用与底层对象相同的方式与Decorator对象进行操作。

2、Decorator对象包含了对底层对象的引用。

3、Decorator对象接收所有来自client object的调用,并将请求forward给底层对象

4、Decorator对象在forward之前会添加一些操作。