裝飾者模式動態、透明地為物件添加職責。所有裝飾者與被裝飾物件共享相同介面(InputStream/OutputStream),客戶端無差別呼叫。
FilterInputStream、FilterOutputStream 為抽象裝飾基類,模仿基礎流介面。BufferedInputStream、DataInputStream 等)在委派前後添加邏輯(緩衝、型別轉換、行號等)。new DataInputStream(new BufferedInputStream(new FileInputStream(f)))。BufferedDataLineNumberFileInputStream)。前文 InFile/PrintFile/OutFile 即為封裝常用組合,降低使用複雜度。