举一个Effective Java中的案例,当前需求是为HashSet提供一个计数,要求统计它创建以来曾经添加了多少个元素,那么可以写出下面的代码....Java I/O与装饰者
字节流
Java I/O框架就是一个很好的装饰者模式的实例.如下InputStream关系图
?...其中FileInputStream,ObjectInputStream等直接实现类提供了最基本字节流读取功能....相比较字节流,字符流这边的关系则有点混乱,主要集中在BufferedReader与FilterReader,其两个角色都是装饰者,而FilterReader是更加基本的装饰者其相对于字节流中的FilterInputStream...从类图来看和装饰者模式似乎无半毛钱关系,实际上其省略了AbstractDecorator这一公共的装饰者基类.那么要实现装饰者其实现类中必须有一个Cache的被装饰对象,以LruCache为例.