1.裝飾器設計模式
在不改變原來代碼的基礎上,直接經過調用來達到新的功能,就是裝飾設計模式spa
例 模擬放大器:設計
裝飾器的組成部分:對象
一、抽象組件:須要裝飾的抽象對象(接口或抽象父類)blog
二、具體組件:須要裝飾的對象接口
三、抽象裝飾類:包含了對抽象組件的應用以及裝飾着共用的方法基礎
四、具體裝飾類:被裝飾的對象方法
例 模擬咖啡:im
1.抽象組件d3
2.具體組件
3.抽象裝飾類
4.兩個具體裝飾類
5.主方法
2.IO流中的裝飾器
InputStream:抽象組件(接口)
FileInputStream和ByteArrayInputStream:這些InputStream實現類是能夠被裝飾者包起來的具體組件
FileterInpurStream:抽象裝飾者
BufferedInputStream、DataInputStream和ObjectInputStream:具體裝飾類