擴充卡模式:
結構型模式
核心作用:是從程式的結構上實作松耦合,進而可以擴大類的整體結構,用來解決更大的問題
分類:
擴充卡模式,代理模式,橋接模式,裝飾模式,組合模式,外觀模式,享元模式
我們以一個USB---PS/2轉接器為例。一般現在的計算機都隻有USB接口,而沒有PS/2接口,但現在我們擁有了一個帶有PL/2的鍵盤,它已經能夠實作我們所需要的功能,并且我們沒有額外的錢在去買要一個USB鍵盤了。是以我們需要一個東西,幫我們把這兩者結合起來。這就是擴充卡。
電腦是用戶端,但是電腦隻能連接配接目标接口(USB口),轉接器(也就是擴充卡)連接配接被适配者(也就是PL/2鍵盤)和目标接口(USB)。來達到适配兩者的作用。
什麼事擴充卡模式呢:
将一個類的接口轉換成客戶希望的另外一個接口。Adapter模式使得原本由于接口不相容而不能一起工作的那些類可以在一起工作。
模式中的角色:
目标接口(Target):客戶期待的接口。目标可以是具體的或抽象的類,也可以是接口
需要适配的類(Adaptee):需要适配的類或者适配者類
擴充卡(Adapter):通過包裝一個需要适配的對象,把原接口轉換成目标接口。
工作中的場景:
經常用來做舊系統改造和更新
如果我們的系統開發之後再也不需要維護,那麼很多模式都是沒有必要的,但是不幸的是,事實卻是維護一個系統的代價往往是開發一個系統的數倍。
我們學習中見過的場景;
Java.io.InputStreamReader(InputStream)
Java.io.OutputStreaWriter(OutputStream)