這個模式花了我挺多時間的,內容不多,但是個人覺得有點抽象,不過所幸還是理解了。
下面我先列出一些介面卡模式的概念(大多都是網上抄的,我自己並不能概括):
概念將乙個介面轉換成為客戶希望的另乙個介面。adapter 模式使原本由於介面不相容而不能一起工作的類可以一起工作。
模式中的角色
1、目標介面:客戶所期待的介面,目標可以是具體的抽象類,或者介面(通俗來說就是我們需要的介面)
2、需要適配的類:需要適配的類(意思就是不符合標準的類,我們需要轉化為符合目標介面)
3、介面卡類:通過包裝乙個需要適配的物件,把原介面轉換成目標介面(做適配作用)
下面用**來說明:
比如我需要的介面如下(目標介面):
public
inte***ce
target
下面是需要適配的類:
public
class
adaptee
}
從上面看出來,adaptee類只具有operation1 功能,並不符合我們的目標介面(需要operation2)。
這個時候我們就需要乙個介面卡了,介面卡一般來說是持有乙個被適配的物件,如下:
public
class
adapter
implements
target
public
void
operation1()
}public
void
operation2()
}
上面的介面卡中,就是我們所需要的類,他實現了 operation1()和operation2(),並且 operation1()是adaptee的operation1(),功能沒有變化。
這樣看來好像,介面卡模式還是不太清晰,不過暫時我的理解只能到這裡
了,不懂得花,看多幾遍就差不多了。
設計模式之介面卡模式(類介面卡模式)
介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...
設計模式之 介面卡模式
1,介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法一起工作的兩個類能夠在一起工作 2,介面卡模式有兩種 1 類的介面卡模式 介面卡類繼承源類 這樣介面卡類就繼承了源類有的方法 並實現目標介面,實現在源類中沒有而在介面中有的方法,從而實現介面卡類有目標介面的所有方...
設計模式之介面卡模式
介面卡模式定義 將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本介面不相容的類可以合作無間。簡單定義 封裝物件,並提供不同的介面。簡單例子 鴨子介面 package headfirst.adapter.ducks public inte ce duck 具體鴨子 package headfi...