設計模式之 介面卡模式

2021-06-23 09:03:39 字數 1084 閱讀 4314

介面卡模式:

又稱變壓器模式,它是把乙個類的介面轉換為客戶端所期望了另一種介面,從而使原本因為介面不匹配而無法一起工作的兩個類能一起工作。

適用:

希望復用一些現存的類,但是介面又與復用環境要求不一致的情況。增強**的可維護性。

方法:

乙個簡單的例子:

例如在系統中實現了點、線、正方形,現在要求實驗乙個圓,一般方法是建立乙個circle類來繼承shape類,然後再去實現display,fill等函式,

但是如果**裡存在之前有人寫的circle,也實現了display等方法,但是方法名不一樣,那我們可以介面卡模式!將circle類保持多型,

再在circle類裡面使用已有的circle得方法。

介面卡就是幹這活的,在不相容的東西之間搭建一座橋梁,讓二者能很好的相容在一起工作。

uml圖:

**示例:

#include #include using namespace std;

//別人寫的circle類

class anothercircle;};

//shape,各個形狀的基類

class shape

;//line

class line:public shape;};

//point

class point:public shape;};

//circle,物件介面卡

class circle

;private:

anothercircle anotercircle;

};int main(int argc, char *argv)

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

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

設計模式之 介面卡模式

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

設計模式之介面卡模式

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