由于對設計模式還不太了解,沒有回答上來。
java IO中涉及到適配器模式以及裝飾者模式。現舉例如下: 1、適配器模式 //file 為已定義好的文件流 FileInputStream fileInput = new FileInputStream(file); InputStreamReader inputStreamReader = new InputStreamReader(fileInput);
以上就是適配器模式的體現,FileInputStream是字節流,而并沒有字符流讀取字符的一些api,因此通過InputStreamReader將其轉為Reader子類,因此有了可以操作文本的文件方法。 2、裝飾者模式
BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
構造了緩沖字符流,將FileInputStream字節流包裝為BufferedReader過程就是裝飾的過程,剛開始的字節流FileInputStream只有read一個字節的方法,包裝為inputStreamReader后,就有了讀取一個字符的功能,在包裝為BufferedReader后,就擁有了read一行字符的功能。
裝飾者模式:動態地將責任附加到對象上,若要擴展功能,裝飾者模提供了比繼承更有彈性的替代方案。 通俗的解釋:裝飾模式就是給一個對象增加一些新的功能,而且是動態的,要求裝飾對象和被裝飾對象實現同一個接口,裝飾對象持有被裝飾對象的實例。
適配器模式:將一個類的接口,轉換成客戶期望的另一個接口。適配器讓原本接口不兼容的類可以合作無間。 適配器模式有三種:類的適配器模式、對象的適配器模式、接口的適配器模式。 通俗的說法:適配器模式將某個類的接口轉換成客戶端期望的另一個接口表示,目的是消除由于接口不匹配所造成的類的兼容性問題。
下面以類的適配器模式舉例:
有一個Source類,擁有一個方法,待適配,目標接口時Targetable,通過Adapter類,將Source的功能擴展到Targetable里。
文章只是作為自己的學習筆記,借鑒了網上的許多案例,如果覺得闊以的話,希望多交流,在此謝過…
新聞熱點
疑難解答