首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java IO 裝飾者模式:FilterInputStream/FilterOutputStream 透明擴展流功能

     編輯:Java 相關知識

模式定義

裝飾者模式動態、透明地為物件添加職責。所有裝飾者與被裝飾物件共享相同介面(InputStream/OutputStream),客戶端無差別呼叫。

Java IO 實現

  • FilterInputStream、FilterOutputStream 為抽象裝飾基類,模仿基礎流介面。
  • 具體裝飾器(BufferedInputStream、DataInputStream 等)在委派前後添加邏輯(緩衝、型別轉換、行號等)。
  • 可任意組合:new DataInputStream(new BufferedInputStream(new FileInputStream(f)))。

優缺點

  • 優點:極大靈活性,避免子類爆炸(如 BufferedDataLineNumberFileInputStream)。
  • 缺點:構造鏈冗長,初學者易困惑;除錯時堆疊層級深。

快捷類封裝

前文 InFile/PrintFile/OutFile 即為封裝常用組合,降低使用複雜度。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved