作用:將乙個類的介面轉換成客戶希望的另乙個介面。adapt模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。
uml示意圖
1) 採用繼承原有介面類的方式
2)採用組合原有介面類的方式
解析:adapt
模式其實就是把完成同樣乙個功能但是介面不能相容的類橋接在一起使之可以在一起工作,這個模式使得復用舊的介面成為可能。
實現:adapt模式有兩種實現的方法,一種是採用繼承原有介面的方法,一種是採用組合原有介面類的方法,這裡採用的是第二種實現方法
1) adapt.h
[cpp]view plain
copy
class
target
virtual
~target(){}
virtual
void
request() = 0;
};
// 與被adapt物件提供不相容介面的類
class
adaptee
~adaptee(){}
void
specialrequest();
};
// 進行adapt的類,採用聚合原有介面類的方式
class
adapter :
public
target
;
(2)adapt.cpp
[cpp]view plain
copy
#include "adapt.h"
#include
void
adaptee::specialrequest()
void
adapter::adapter(adaptee *padaptee) : m_padaptee(padaptee)
adapter::~adapter()
void
adapter::request()
(3)main.cpp
[cpp]view plain
copy
#include "adapter.h"
#include "stdlib.h"
intmain()
常見設計模式解析和實現(C )Adapt模式
作用 將乙個類的介面轉換成客戶希望的另乙個介面。adapt模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。uml示意圖 1 採用繼承原有介面類的方式 2 採用組合原有介面類的方式 解析 adapt 模式其實就是把完成同樣乙個功能但是介面不能相容的類橋接在一起使之可以在一起工作,這個模式...
設計模式解析
在之前的學習中初步的了解了基本設計模式,但是在使用方面很多地方考慮的不夠仔細,經驗方面也有很多不足之處。現在正好利用一些時間把設計模式重新整理一下。先列一下基本設計模式的知識點 1 物件導向的六大原則 2 基本設計模式 建立型模式,共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 build...
解析設計模式
區分fa ade模式 adapter模式 bridge模式與decorator模式。fa ade模式注重簡化介面,adapter模式注重轉換介面,bridge模式注重分離介面 抽象 與其實現,decorator模式注重穩定介面的前提下為物件擴充套件功能 23種常見的設計模式 建立型factory m...