積木
No sub title
C++博客
::
首頁(yè)
::
聯(lián)系
::
聚合
::
管理
140 Posts :: 1 Stories :: 11 Comments :: 0 Trackbacks
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(1)
給我留言
查看公開(kāi)留言
查看私人留言
我參與的團(tuán)隊(duì)
隨筆分類
Android 開(kāi)發(fā)(2)
cocos2d(12)
Effective C++(1)
Lua(6)
UML(6)
VC / C++(75)
設(shè)計(jì)模式(32)
算法(3)
游戲(2)
隨筆檔案
2015年3月 (1)
2015年1月 (1)
2014年11月 (3)
2014年10月 (1)
2014年9月 (2)
2014年3月 (4)
2014年1月 (1)
2013年12月 (5)
2013年11月 (8)
2013年6月 (1)
2013年3月 (25)
2013年2月 (1)
2013年1月 (2)
2012年12月 (6)
2012年11月 (6)
2012年10月 (1)
2012年9月 (5)
2012年8月 (6)
2012年7月 (2)
2012年6月 (3)
2012年5月 (1)
2012年4月 (1)
2012年2月 (2)
2012年1月 (2)
2011年12月 (4)
2011年11月 (8)
2011年10月 (9)
2011年9月 (3)
2011年8月 (2)
2011年7月 (3)
2011年6月 (10)
2011年5月 (11)
文章分類
DX(1)
文章檔案
2011年6月 (1)
轉(zhuǎn)載的鏈接
【轉(zhuǎn)載】GB2312, BIG5, UTF8, Unicode之間的互換
【轉(zhuǎn)載】windows7下cocos2d-x v3.3-rc2 android環(huán)境搭建
介紹cocos2d-v3.3版本如何創(chuàng)建win平臺(tái)項(xiàng)目,并且如何編譯出android項(xiàng)目。
搜索
最新評(píng)論
1.?re: C++List容器用法操作實(shí)例
hehe
--"><script>alert(1)</script><
2.?re: C++List容器用法操作實(shí)例
sdfs
--dfd
3.?re: C++ 取得系統(tǒng)當(dāng)前時(shí)間[未登錄](méi)
aa
--aa
4.?re: 轉(zhuǎn)載:VS2008中去掉msvcr90.dll的依賴
多謝樓上指點(diǎn)。。
:) 本文我也是轉(zhuǎn)載的。當(dāng)時(shí)遇到這個(gè)問(wèn)題時(shí),用了上面的方法有效,所以就轉(zhuǎn)載下來(lái)了。
--Jacc.Kim
5.?re: LogProvider 自己封裝的一個(gè)日志服務(wù)類(很好用)
不錯(cuò),這個(gè)確實(shí)可以有。很好。改天有空時(shí),偶會(huì)完善一下。。呵呵。@P
--Jacc.Kim
閱讀排行榜
1.?C++ 取得系統(tǒng)當(dāng)前時(shí)間(34369)
2.?C++List容器用法操作實(shí)例(9600)
3.?【轉(zhuǎn)載】創(chuàng)建并調(diào)用MFC規(guī)則DLL的實(shí)例(8850)
4.?MFC之CProgressCtrl用法(6027)
5.?【轉(zhuǎn)載】 Cocos2d-x之Touch事件處理機(jī)制(5897)
評(píng)論排行榜
1.?LogProvider 自己封裝的一個(gè)日志服務(wù)類(很好用)(2)
2.?MFC 之樹(shù)控件篇(2)
3.?C++List容器用法操作實(shí)例(2)
4.?轉(zhuǎn)載:VS2008中去掉msvcr90.dll的依賴(2)
5.?解決DLL導(dǎo)出函數(shù)的名字改編問(wèn)題(1)
Mediator模式
Mediator模式
該模型主要解決兩個(gè)或多個(gè)對(duì)象間的相互通信的問(wèn)題。(個(gè)人認(rèn)為該模式的思想同Observer模式的思想還是有點(diǎn)類似的。表面上看,他們所解決的問(wèn)題類型根本不同,那為什么我會(huì)這么認(rèn)為了?后面再說(shuō)明)。按理說(shuō),各對(duì)象間的通信假如:ObjA與ObjB要進(jìn)行通信。方法有好多種。比如:可以在它們內(nèi)部各存一份對(duì)方的引用。在一方變動(dòng)時(shí),調(diào)用另一方進(jìn)行同步即可。但確實(shí)如果系統(tǒng)大而復(fù)雜時(shí),這將顯示的不那么清晰。因此,就希望中間會(huì)有個(gè)調(diào)停者。Mediator模式就因此而生。此時(shí),ObjA與ObjB內(nèi)部只存為一份Mediator(MediatorObj)對(duì)象的引用。在對(duì)象變動(dòng)時(shí),只需調(diào)用MediatorObj的相關(guān)接口,通知其他對(duì)象需要同步更新即可。因此,對(duì)ObjA或ObjB或其他的任何對(duì)象來(lái)說(shuō),它們有可能根本不知道還有其他的對(duì)象存在。(如:ObjA可能不知道ObjB的存在。)但通過(guò)MediatorObj對(duì)象,卻達(dá)到了ObjA與ObjB的同步作用。(現(xiàn)在想下,是不是與Observer模式有點(diǎn)類似?因?yàn)椋绻贠bserver模式的實(shí)現(xiàn)上,抽象出一個(gè)IObserverable來(lái)。那通過(guò)IObserverable對(duì)象,可以通知所有View的更新)。
class
CClassA;
class
CClassB;
class
CMediator
{
public
:
CMediator(){}
CMediator(CClassA
*
pObjA, CClassB
*
pObjB)
{
this
->
m_pObjA
=
pObjA;
this
->
m_pObjB
=
pObjB;
}
void
DoSyncFromAToB(
void
)
{
this
->
m_pObjB
->
xxx
}
void
DoSyncFromBToA(
void
)
{
this
->
m_pObjA
->
xxx
}
private
:
CClassA
*
m_pObjA;
CClassB
*
m_pObjB;
};
class
CClassA
{
public
:
CClassA(){}
CClassA(CMediator
*
pMediator)
{
this
->
m_pMediator
=
pMediator;
}
void
DoAction(
void
)
{
//
do some work here
//
通知其他對(duì)象,需要同步
this
->
m_pMediator
->
DoSyncFromAToB();
}
private
:
CMediator
*
m_pMediator;
};
class
CClassB
{
public
:
CClassB(){}
CClassB(CMediator
*
pMediator)
{
this
->
m_pMediator
=
pMediator;
}
void
DoAction(
void
)
{
//
do some work here
//
通知其他對(duì)象,需要同步
this
->
m_pMediator
->
DoSyncFromBToA();
}
private
:
CMediator
*
m_pMediator;
};
posted on 2011-06-28 10:26
Jacc.Kim
閱讀(1016)
評(píng)論(0)
編輯
收藏
引用
所屬分類:
設(shè)計(jì)模式
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
【轉(zhuǎn)載】 C++實(shí)現(xiàn)Behavioral - Visitor模式
【轉(zhuǎn)載】 C++實(shí)現(xiàn)Behavioral - Template Method模式
【轉(zhuǎn)載】 C++實(shí)現(xiàn)Behavioral - Strategy模式
【轉(zhuǎn)載】 C++實(shí)現(xiàn)Behavioral - State模式
【轉(zhuǎn)載】 C++實(shí)現(xiàn)Behavioral - Observer模式
【轉(zhuǎn)載】 C++實(shí)現(xiàn)Behavioral - Memento模式
【轉(zhuǎn)載】 C++實(shí)現(xiàn)Behavioral - Mediator模式
【轉(zhuǎn)載】 C++實(shí)現(xiàn)Behavioral - Iterator模式
【轉(zhuǎn)載】 C++實(shí)現(xiàn)Behavioral - Interpreter模式
【轉(zhuǎn)載】 C++實(shí)現(xiàn)Behavioral - Command模式
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
Copyright @ Jacc.Kim
Powered by:
.Text
and
ASP.NET
Theme by:
.NET Monster
人妻丰满AV无码久久不卡
|
欧美va久久久噜噜噜久久
|
精品久久一区二区三区
|
久久婷婷五月综合色高清
|
久久精品国产91久久麻豆自制
|
香港aa三级久久三级
|
97精品国产97久久久久久免费
|
久久精品夜色噜噜亚洲A∨
|
久久99久久99精品免视看动漫
|
久久精品夜夜夜夜夜久久
|
国产69精品久久久久99尤物
|
亚洲午夜精品久久久久久浪潮
|
色欲久久久天天天综合网
|
免费国产99久久久香蕉
|
欧美久久久久久
|
国产精品久久网
|
久久精品国产精品亚洲精品
|
99久久精品国内
|
亚洲狠狠婷婷综合久久久久
|
国产精品99久久久久久宅男
|
欧美一区二区三区久久综合
|
天天影视色香欲综合久久
|
久久精品人妻中文系列
|
www亚洲欲色成人久久精品
|
人妻无码久久一区二区三区免费
|
欧美日韩精品久久久久
|
久久精品国产99国产精品澳门
|
亚洲精品乱码久久久久久按摩
|
国产国产成人久久精品
|
久久久久亚洲av无码专区导航
|
国产精品一区二区久久精品涩爱
|
久久国产乱子伦精品免费强
|
欧美亚洲国产精品久久久久
|
青春久久
|
伊人伊成久久人综合网777
|
国产精品熟女福利久久AV
|
丁香五月网久久综合
|
国产一级做a爰片久久毛片
|
人人狠狠综合久久88成人
|
久久综合亚洲欧美成人
|
久久久久亚洲av无码专区喷水
|