裝飾器模式在JDK原始碼中的應用

2020-10-13 01:00:04
裝飾器模式在原始碼中應用的非常多,其中在 JDK 中體現最明顯的類就是與 I/O 相關的類,如 BufferedReader、InputStream、OutputStream 及它們的子類。

下面以 InputStream 為例進行講解。
  • FileInputStream 是 InputStream 的子類,用來讀取檔案位元組流
  • BufferedInputStream 是 InputStream 的子類 FilterInputStream 的子類,為可快取的位元組流
  • DataInputStream 也是FilterInputStream 的子類,可直接讀取 Java 基本型別的位元組流

下面為 InputStream 的類圖,如下所示。