介面卡模式用在現有介面跟不相容的類和介面之間進行適配。用乙個新的介面包裝另乙個物件。
介面卡用在協調兩個不同的介面。與門面模式的區別:
門面模式展現的是乙個簡化的介面,只是對**及介面起到簡化作用,不提供額外的選擇。
介面卡模式則是需要把乙個介面轉換為另外乙個介面,完全保留介面,並且不會簡化介面。
var clientobject=;
function inte***cemethod(str1,str2,str3)
function clienttointe***ceadapter(o)
clienttointe***ceadapter(clientobject);
對於clientobject作為引數傳遞給inte***cemethod,需要使用介面卡。
示例:
function $()
function getto$(el)
示例:適配電子郵件api
這個例子很明顯展示出當介面型別不一樣的時候,通過適配協調的方式,完成介面的通用,增加**的復用量。
介面卡在當前條件下,框架層出不窮,又不統一的情況下,避免大規模改寫**,用新的介面對不適合的介面進行包裝,協調語法的差異。
設計模式之介面卡模式(類介面卡模式)
介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...
設計模式之 介面卡模式
1,介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法一起工作的兩個類能夠在一起工作 2,介面卡模式有兩種 1 類的介面卡模式 介面卡類繼承源類 這樣介面卡類就繼承了源類有的方法 並實現目標介面,實現在源類中沒有而在介面中有的方法,從而實現介面卡類有目標介面的所有方...
設計模式之介面卡模式
介面卡模式定義 將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本介面不相容的類可以合作無間。簡單定義 封裝物件,並提供不同的介面。簡單例子 鴨子介面 package headfirst.adapter.ducks public inte ce duck 具體鴨子 package headfi...