设计模式复习-适配器模式
生活随笔
收集整理的這篇文章主要介紹了
设计模式复习-适配器模式
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
#pragma once
#include "stdafx.h"#include<iostream>
using namespace std;/*
設(shè)計(jì)模式-適配器模式 Adapter將一個(gè)類的接口轉(zhuǎn)換成客戶希望的;另外一個(gè)接口。Adapter模式使得原本由于接口
不兼容而不能一起工作的那些類可以一起工作。
1.使用一個(gè)已經(jīng)存在的類,但如果它的接口,也就是它的方法和你的要求不相同時(shí),就應(yīng)該考慮使用適配器模式。
2.客戶代碼可以統(tǒng)一調(diào)用同一接口就行了,這樣應(yīng)該可以更簡(jiǎn)單、更直接。更緊湊。
3.我們通常是在軟件開發(fā)后期或者是開發(fā)過程中使用別人的模塊才使用這個(gè)模式。
4.在雙方都不太容易修改的時(shí)候再使用適配器模式適配,而不是一有不同時(shí)就使用它。
下面是實(shí)現(xiàn)代碼,很簡(jiǎn)單。
*/class CTarget {//期待的
public:virtual void Request() = 0;
};class CAdaptee {//已有的,需要適配的
public:void SpecificRequest() {cout << "特殊請(qǐng)求" << endl;}
};class CAdapter : public CTarget {//實(shí)際上拿來用的
private:CAdaptee * m_pAdaptee = NULL;
public:CAdapter() { m_pAdaptee = new CAdaptee(); }~CAdapter() { delete m_pAdaptee; }void Request() {m_pAdaptee->SpecificRequest();}
};int main() {CTarget *pTarget = new CAdapter();pTarget->Request();getchar();return 0;
}
?
總結(jié)
以上是生活随笔為你收集整理的设计模式复习-适配器模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式复习-状态模式
- 下一篇: 设计模式复习-备忘录模式