浅谈Java IO流中的设计模式
IO流中有很多种流,例如底层流(节点流),它直接负责文件的读写,但是功能单一,灵活性差,效率低。此时Java语言的设计者们,他们发现了这个弊端,并引入了包装流(也称处理流),他将节点流封装其中,提供了更为丰富,且效率高效的读写方法。
这种设计的底层是一个叫装饰者的设计模式,起着重要的作用,下面请看我代码演示。
Reader_抽象类

FileReader_读文件子类

StringReader_读字符串子类

BufferedReader_

测试类

运行结果:

包装流底层使用的这种设计模式,即装饰者模式,他运用了组合的思想,即在该类的成员变量中声明抽象类,而在编译时可以根据传进来不同的对象,实现不同的功能。
如上图所示,BufferedReader_不仅可以调用FileReader_自己的方法,也可以调用根据传进来FileReader_后,进行设计更为高效的方法。

浙公网安备 33010602011771号