設計模式之介面卡模式

2021-07-08 11:16:15 字數 983 閱讀 2504

這個模式花了我挺多時間的,內容不多,但是個人覺得有點抽象,不過所幸還是理解了。

下面我先列出一些介面卡模式的概念(大多都是網上抄的,我自己並不能概括):

概念將乙個介面轉換成為客戶希望的另乙個介面。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...