介面卡模式(結構型):讓因介面不匹配而不能一起工作的類通過介面卡轉換後,客戶端只需要呼叫介面卡的介面就能讓原來不能一起工作的介面協同工作,介面卡模式主要是為了解決相容性的問題,即將多個類的介面都轉換為客戶端所期望的乙個介面。
1.目標介面:客戶端所期望的統一介面。
2.適配者:需要被適配的類。
3.介面卡:它是乙個轉換器,把適配者轉換為目標介面。
當**被抓後,會搜出很多現金,由於數額巨大,需要人和數鈔機一起工作,但對於人數鈔這個類來說,還需要傳遞乙個人作為引數,而機器數鈔則不需要引數,這就導致了2個介面不一致,通過介面卡模式後,只需要呼叫同乙個介面,即可解決此問題,如果還有新增適配者也能通過新增介面卡來解決相容性問題。
public inte***ce target
說明:目標介面,定義客戶端所期望的統一介面。
public class artificialadapter implements target
}
說明:人工數錢介面卡,把人工數錢轉換成統一介面。
public class machineadapter implements target
}
說明:機器數錢介面卡,把機器數錢轉換為統一的介面。
public class artificialcomputemoney
}
說明:人工數鈔操作,適配者,需要傳遞乙個人作為引數。
public class machinecomputemoney
}
說明:機器數鈔操作,適配者,不需要傳遞引數。
public class adaptertest
}
說明:測試類及客戶端。
1.適用於因介面不一樣導致不能共同工作的類,主要是解決相容性問題,如蘋果手機和安卓手機充電口不一致,可以通過轉介面處理,而轉介面就類似於介面卡。
設計模式之介面卡模式(類介面卡模式)
介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...
設計模式之 介面卡模式
1,介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法一起工作的兩個類能夠在一起工作 2,介面卡模式有兩種 1 類的介面卡模式 介面卡類繼承源類 這樣介面卡類就繼承了源類有的方法 並實現目標介面,實現在源類中沒有而在介面中有的方法,從而實現介面卡類有目標介面的所有方...
設計模式之介面卡模式
介面卡模式定義 將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本介面不相容的類可以合作無間。簡單定義 封裝物件,並提供不同的介面。簡單例子 鴨子介面 package headfirst.adapter.ducks public inte ce duck 具體鴨子 package headfi...