装饰器模式

  装饰就是包装,比如我的自行车是两个轱辘用脚踩的,通过加工包装上了一个电瓶,就变成了电瓶车了,再装上了两个机翼,就变成了电动飞车了。从原始的自行车通过层层包装之后,功能不断增加,不断变成新东西,这就是包装器模式。具体例子参见关于IO流的抽象类

  比如InputStream,看链接里的图片,由左到右进行包装,最终变成了BufferedInputStream,如果我这样实例化了一个BufferedInputStream对象

BufferedInputStream bis = new BufferedInputStream(new FileInputStream(new File("wlf.txt")));

  那么bis对象既有文件流的功能,又具有缓冲流的功能。

原文地址:https://www.cnblogs.com/wuxun1997/p/8964364.html