蝸牛的家
男兒當(dāng)自強(qiáng)
C++博客
首頁(yè)
新文章
新隨筆
聚合
管理
posts - 48, comments - 21, trackbacks - 0
C++設(shè)計(jì)模式-Adapter
意圖:
將一個(gè)類(lèi)的接口轉(zhuǎn)換成客戶需要的另外一個(gè)接口。使得原本不兼容而不能在一起工作的類(lèi)可以一起工作
適用:
你想使用一個(gè)類(lèi),而他的接口不符合你的要求
你想創(chuàng)建一個(gè)可復(fù)用的類(lèi),該類(lèi)可以與其他不相關(guān)的類(lèi)或是不可預(yù)見(jiàn)的類(lèi)協(xié)同工作,或是使用多重繼承的方法避免
UML圖:
采用繼承原有接口類(lèi)的方式
采用組合原有接口類(lèi)的方式
解析:
Adapt模式其實(shí)就是把完成
同樣的一個(gè)功能
但是接口不能兼容的類(lèi)橋接在一起使之可以在一起工作,這個(gè)模式使得復(fù)用舊的接口成為可能.
//
test.h
/**/
////////////////////////////////////////////////////////////////////////
//
//
需要被Adapt的類(lèi)
class
Target
{
public
:
Target()
{}
virtual
~
Target()
{}
virtual
void
Request()
=
0
;
}
;
//
與被Adapt對(duì)象存在不兼容接口的類(lèi)
,或是這個(gè)類(lèi)與target類(lèi)毫無(wú)關(guān)聯(lián),去想在同一個(gè)類(lèi)中使用兩個(gè)類(lèi)的函數(shù).
class
Adaptee
{
public
:
Adaptee()
{}
~
Adaptee()
{}
void
SpecialRequest();
}
;
//
進(jìn)行Adapt的類(lèi),聚合原有接口類(lèi)
class
Adapter :
public
Target
{
public
:
Adapter(Adaptee
*
pAdaptee);
virtual
~
Adapter();
virtual
void
Request();
//
重載了接口且進(jìn)行了聚合
private
:
Adaptee
*
m_Adaptee;
}
;
//
test.cpp : Defines the entry point for the console application.
//
#include
"
stdafx.h
"
#include
<
iostream
>
#include
"
stdlib.h
"
#include
"
test.h
"
using
namespace
std;
/**/
////////////////////////////////////////////////////////////////////////
//
void
Adaptee::SpecialRequest()
{
cout
<<
"
specialRequest of Adaptee\n
"
;
}
Adapter::Adapter(Adaptee
*
pAdaptee) : m_Adaptee(pAdaptee)
{
}
Adapter::
~
Adapter()
{
delete m_Adaptee;
m_Adaptee
=
NULL;
}
void
Adapter::Request()
{
cout
<<
"
Request of Adapter\n
"
;
m_Adaptee
->
SpecialRequest();
}
/**/
////////////////////////////////////////////////////////////////////////
//
int
main(
int
argc,
char
*
argv[])
{
Adaptee
*
pAdaptee
=
new
Adaptee;
Target
*
pTarget
=
new
Adapter(pAdaptee);
pTarget
->
Request();
delete pTarget;
system(
"
pause
"
);
return
0
;
}
posted on 2008-08-17 02:29
黑色天使
閱讀(312)
評(píng)論(0)
編輯
收藏
引用
所屬分類(lèi):
設(shè)計(jì)模式
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
decorator模式
MVC模式理解——當(dāng)年給我一個(gè)browser多好(轉(zhuǎn))
C++設(shè)計(jì)模式-趣解
C++設(shè)計(jì)模式-visitor
C++設(shè)計(jì)模式-Memento
C++模式-Iterator
C++設(shè)計(jì)模式-Observer
C++設(shè)計(jì)模式-Command
C++模式-FlyWeight
C++設(shè)計(jì)模式-ChainOfResponsibility
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
<
2008年8月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(2)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類(lèi)
C\C++(8)
Hacker(1)
STL
VC&MFC(4)
操作系統(tǒng)(1)
多進(jìn)程&多線程
流媒體開(kāi)發(fā)
內(nèi)存管理技術(shù)(2)
軟件工程(1)
設(shè)計(jì)模式(20)
數(shù)據(jù)結(jié)構(gòu)&算法(2)
網(wǎng)絡(luò)開(kāi)發(fā)(3)
隨筆檔案
2011年4月 (1)
2011年3月 (2)
2009年7月 (1)
2009年6月 (2)
2009年3月 (1)
2009年2月 (3)
2009年1月 (3)
2008年12月 (5)
2008年11月 (1)
2008年10月 (3)
2008年9月 (3)
2008年8月 (23)
文章檔案
2011年3月 (1)
2009年6月 (1)
2008年11月 (1)
搜索
最新評(píng)論
1.?re: C++設(shè)計(jì)模式-Observer
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--no7dw
2.?re: YUV格式詳細(xì)解釋與FFMPEG的關(guān)系
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--windsome
3.?re: 鍵盤(pán)過(guò)濾驅(qū)動(dòng)源代碼
@soul
再怎么懶也應(yīng)該自己實(shí)現(xiàn)一部分吧
--黑色天使
4.?re: 鍵盤(pán)過(guò)濾驅(qū)動(dòng)源代碼[未登錄](méi)
再怎么懶也該加上unload例程吧
--soul
5.?re: CHttpDownLoad Beta 1.0
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--tangxinfa
閱讀排行榜
1.?RGB、YUY2、YUYV、YVYU、UYVY與AYUV(轉(zhuǎn))(6703)
2.?YUV格式詳細(xì)解釋與FFMPEG的關(guān)系(4320)
3.?如何檢測(cè)內(nèi)存泄漏(轉(zhuǎn))(3908)
4.?memcpy的BUG(2730)
5.?內(nèi)存池技術(shù)學(xué)習(xí)筆記(2361)
評(píng)論排行榜
1.?CHttpDownLoad Beta 1.0(10)
2.?memcpy的BUG(5)
3.?事件模型SOCKET封裝(2)
4.?鍵盤(pán)過(guò)濾驅(qū)動(dòng)源代碼(2)
5.?C++設(shè)計(jì)模式-Observer(1)
Copyright ©2025 黑色天使 Powered By
博客園
模板提供:
滬江博客
伊人久久精品影院
|
久久午夜夜伦鲁鲁片免费无码影视
|
久久99国产精品久久久
|
久久影院久久香蕉国产线看观看
|
欧美无乱码久久久免费午夜一区二区三区中文字幕
|
国产精品久久久久久影院
|
午夜精品久久久久成人
|
伊人久久大香线蕉av不卡
|
久久综合九色综合网站
|
精品国产热久久久福利
|
久久久久久曰本AV免费免费
|
97久久超碰国产精品2021
|
久久久久亚洲精品男人的天堂
|
熟妇人妻久久中文字幕
|
天天影视色香欲综合久久
|
久久夜色精品国产亚洲
|
国产亚洲美女精品久久久2020
|
观看 国产综合久久久久鬼色 欧美 亚洲 一区二区
|
久久91精品国产91久久麻豆
|
欧美日韩精品久久久久
|
国产精品无码久久综合网
|
五月丁香综合激情六月久久
|
色偷偷88欧美精品久久久
|
狠狠色婷婷综合天天久久丁香
|
亚洲AV无码久久精品成人
|
99久久精品午夜一区二区
|
国产精品九九九久久九九
|
奇米影视7777久久精品人人爽
|
狠狠色伊人久久精品综合网
|
国产三级观看久久
|
精品久久777
|
91久久婷婷国产综合精品青草
|
国产成人精品久久
|
久久亚洲国产成人影院网站
|
久久国产精品成人片免费
|
色偷偷偷久久伊人大杳蕉
|
久久综合亚洲色HEZYO社区
|
久久精品国产亚洲av麻豆蜜芽
|
久久久久久曰本AV免费免费
|
久久久久青草线蕉综合超碰
|
亚洲午夜久久久久久久久电影网
|