Bootstrap

IO流用到的设计模式

IO流用到的设计模式

  • 装饰器(Decorator)模式 可以在不改变原有对象的情况下拓展其功能。例如,可以通过 BufferedInputStream(字节缓冲输入流)来增强 FileInputStream 的功能。
  • 适配器(Adapter Pattern)模式 主要用于接口互不兼容的类的协调工作。例如,InputStreamReader 使用 StreamDecoder (流解码器)对字节进行解码,实现字节流到字符流的转换,OutputStreamWriter 使用StreamEncoder(流编码器)对字符进行编码,实现字符流到字节流的转换
  • 工厂模式:Files 类的 newInputStream 方法用于创建 InputStream 对象(静态工厂)、 Paths 类的 get 方法创建 Path 对象(静态工厂)、ZipFileSystem 类(sun.nio包下的类,属于 java.nio 相关的一些内部实现)的 getPath 的方法创建 Path 对象(简单工厂)
  • 观察者模式。NIO 中的文件目录监听服务使用到了观察者模式,NIO 中的文件目录监听服务基于 WatchService 接口和 Watchable 接口。WatchService 属于观察者,Watchable 属于被观察者。
;