簡說設計模式之介面卡模式

2021-10-04 18:48:30 字數 1895 閱讀 5377

前言:對於設計模式基礎概念可以去看[簡說設計模式之設計模式概述]

介面卡模式(adapter)的定義如下:將乙個類的介面轉換成客戶希望的另外乙個介面,使得原本由於介面不相容而不能一起工作的那些類能一起工作。介面卡模式分為類結構型模式和物件結構型模式兩種

1.1 uml結構圖

1.2 模式實現**

package adapter;

//目標介面

inte***ce

target

//適配者介面

class

adaptee

}//類介面卡類

class

classadapter

extends

adaptee

implements

target

}//客戶端**

public

class

classadaptertest

}

2.1 uml結構圖

2.2 模式實現**

package adapter;

//物件介面卡類

class

objectadapter

implements

target

public

void

request()

}//客戶端**

public

class

objectadaptertest

}

介面卡模式(adapter)可擴充套件為雙向介面卡模式,雙向介面卡類既可以把適配者介面轉換成目標介面,也可以把目標介面轉換成適配者介面,

//目標介面

inte***ce

twowaytarget

//適配者介面

inte***ce

twowayadaptee

//目標實現

class

targetrealize

implements

twowaytarget

}//適配者實現

class

adapteerealize

implements

twowayadaptee

}//雙向介面卡

class

twowayadapter

implements

twowaytarget

,twowayadaptee

public

twowayadapter

(twowayadaptee adaptee)

public

void

request()

public

void

specificrequest()

}//客戶端**

public

class

twowayadaptertest

}從上面的內容可以看出來,類介面卡是類間繼承,物件介面卡是物件的合成關係,也可以說是類的關聯關係,這是兩者的根本區別。

​ 由於物件介面卡是通過類間的關聯關係進行耦合的,因此在設計時就可以做到比較靈活,而類介面卡就只能通過覆寫源角色的方法進行擴充套件。

​ 在實際專案中,物件介面卡使用到的場景較多。

設計模式之介面卡模式(類介面卡模式)

介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...

設計模式之 介面卡模式

1,介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法一起工作的兩個類能夠在一起工作 2,介面卡模式有兩種 1 類的介面卡模式 介面卡類繼承源類 這樣介面卡類就繼承了源類有的方法 並實現目標介面,實現在源類中沒有而在介面中有的方法,從而實現介面卡類有目標介面的所有方...

設計模式之介面卡模式

介面卡模式定義 將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本介面不相容的類可以合作無間。簡單定義 封裝物件,並提供不同的介面。簡單例子 鴨子介面 package headfirst.adapter.ducks public inte ce duck 具體鴨子 package headfi...