设计模式学习笔记之-装饰器设计模式

   装饰器,顾名思义就是给现有对象增加额外的功能起到“装饰”该对象的功能。装饰器设计模式可以快速扩展一个对象的功能。装饰器模式类图实现如下:

                          

Componen:其中Componen为抽象组件,定义基本抽象行为。

ConcereteComponen:为具体需要修饰的对象。

Decorator:为装饰者,装饰者跟被装饰者需要实现同一个抽象组件。

ConcreteDecorator:具体装饰者,其通过持有被装饰者的引用来实现对被装饰者的修饰。

典型实现JDK中IO:

                  

其中InputStream是一个抽象组件,FileInputStream是具体被装饰对象,FilterInputStream是装饰对象,BufferedInputStream是具体装饰对象,经常我们会使用如下方式来读取文件,BufferedInputStream使得读取文件具有了缓存功能。

File file = new File("hello.txt");
FileInputStream in = new FileInputStream(file);
BufferedInputStream inBuffered = new BufferedInputStream(in);

猜你喜欢

转载自my.oschina.net/wenbo123/blog/1628188