c.介面卡模式
我的筆記本是港貨,它的插頭與我們常用的插座不一樣,所有我出差的時候我必須帶乙個介面卡,才能使用不同地方的插座。這是乙個對介面卡模式最經典的描述。當我們設計的系統要與其它系統互動,或者我們設計的模組要與其它模組互動時,這種互動可能是呼叫乙個介面,或者交換一段資料,接受方常常因傳送方對協議的變更而頻繁變更。這種變更,可能是接受方**的變更,比如原來是a
系統,現在變成b
系統了;也可能是接受方自身的**變更,如原來的介面現在增加了乙個引數。由於傳送方的變更常常導致接受方**的不穩定,即頻繁跟著修改,為接受方的維護帶來困難。
遇到這樣的問題,乙個有經驗的程式設計師馬上想到的就是採用介面卡模式。在設計時,我方的介面按照某個協議編寫,並且保持固定不變。然後,在與真正對方介面時,在前段設計乙個介面卡類,一旦對方協議發生變更,我可以換個介面卡,將新協議轉換成原協議,問題就解決了。介面卡模式應當包含乙個介面和它的實現類。介面應當包含乙個本系統要呼叫的方法,而它的實現類分別是與a
系統介面的介面卡、與b
系統介面的介面卡...
我曾經在乙個專案中需要與另乙個系統介面,起初那個系統通過乙個資料集的方式為我提供資料,我寫了乙個接收資料集的介面卡;後來改為用乙個xml
資料流的形式,我又寫了乙個接收xml
的介面卡。雖然為我提供資料的方式不同,但是經過介面卡轉換後,輸出的資料是一樣的。通過在spring
中的配置,我可以靈活地切換到底是使用哪個介面卡。
JAVA設計模式 介面卡模式
介面卡模式 要點 1 介面卡模式主要應用於 希望復用一些現存的類,但是介面又與復用環境要求不一致的情況 在遺留 復用 類庫遷移等方面非常有用。2 介面卡模式有物件介面卡和類介面卡兩種形式的實現結構,但是類介面卡採用 多繼承 的實現方式,帶來了不良的高耦合,所以一般不推薦使用。物件介面卡採用 物件組合...
java設計模式 介面卡模式
介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。用電器做例子,膝上型電腦的插頭一般都是三相的,即除了陽極 陰極外,還有乙個地極。而有些地方的電源插座卻只有兩極,沒有地極。電源插座與膝上型電腦的電源插頭不匹配使得膝上型電腦無法使用。...
Java設計模式 介面卡模式
目錄 介面卡模式的個人理解 轉換方法 介面卡模式的定義 通用類圖 角色定義 target目標角色 adaptee源角色 adapter介面卡角色 通用源 介面卡模式的優點 首先有乙個目標角色 乙個源角色還有乙個介面卡角色。我們要做的就是利用介面卡角色將源角色轉換為目標角色。而目標角色是乙個正在良好執...