<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    細(xì)心!用心!耐心!

    吾非文人,乃市井一俗人也,讀百卷書(shū),跨江河千里,故申城一游; 一兩滴辛酸,三四年學(xué)業(yè),五六點(diǎn)粗墨,七八筆買(mǎi)賣(mài),九十道人情。

    BlogJava 聯(lián)系 聚合 管理
      1 Posts :: 196 Stories :: 10 Comments :: 0 Trackbacks
    Mediator的意思是中介者、調(diào)節(jié)者、傳遞物,顧名思義,這個(gè)模式在程式中必然負(fù)擔(dān)一個(gè)中介、調(diào)節(jié)、傳遞的工作。

    物件導(dǎo)向設(shè)計(jì)中,每個(gè)物件所負(fù)擔(dān)的工作儘可能的簡(jiǎn)單明瞭,鼓勵(lì)物件將工作分布至其它物件上,讓一群工作屬性相同的物件得以共同合作,即所謂高聚合性,以增加物件的可重用性。

    然而在組織物件工作的同時(shí),物件彼此之間可能知道彼此的存在,並相互依賴(lài),這就使得物件之間的耦合性相對(duì)的提高,最差的情況下,所有的物件都知道彼此的存在,這又會(huì)使得系統(tǒng)的重用性降低。

    Mediator模式用一個(gè)中介的物件來(lái)封裝物件彼此之間的交互,物件之間並不用互相知道另一方,這可以降低物件之間的耦合性,如果要改變物件之間的交互行為,也只需要對(duì)Mediator加以修改即可。

    Gof 的書(shū) 中所舉的例子為對(duì)話(huà)方塊組件;例如,當(dāng)一個(gè)特定的輸入欄為空時(shí),另一個(gè)按鈕不能使用;在ListBox的選項(xiàng)中選擇一個(gè)項(xiàng)目,將會(huì)改變另一個(gè)欄位的內(nèi)容;反過(guò)來(lái)的,輸入欄位的內(nèi)容也會(huì)影響ListBox的選擇等等。
    Mediator

    在這個(gè)例子中,可以設(shè)計(jì)對(duì)話(huà)方塊中的組件知道彼此的存在,由一個(gè)直接影響另一個(gè)(或多個(gè))組件,但最好的方法,還是設(shè)計(jì)一個(gè)Mediator,由它來(lái)協(xié)調(diào)組件之間的交互,例如設(shè)計(jì)一個(gè)FontDialogDirector類(lèi)別來(lái)作為中介者。
    Mediator

    可以從Sequence Diagram來(lái)瞭解Mediator的運(yùn)作:
    Mediator

    當(dāng)ListBox發(fā)生變化時(shí),它會(huì)呼叫Mediator的listBoxChanged()方法,Mediator取得變化的組件之狀態(tài),並重新設(shè)定所有與它有交互的組件,同樣的,其它的組件發(fā)生變化時(shí),也呼叫Mediator上對(duì)應(yīng)的方法,由Mediator來(lái)取得組件變化,並設(shè)定其它互動(dòng)的組件。

    簡(jiǎn)單的說(shuō),Mediator設(shè)計(jì)有與組件溝通的介面,介面中封裝了與其它組件互動(dòng)細(xì)節(jié),組件與組件之間不用知道彼此的存在,它們只要與Mediator溝通就好了,利用這種方式,可以切開(kāi)組件與組件之間的耦合。

    Mediator模式的 UML 結(jié)構(gòu)圖如下所示:
    Mediator
    基本上Mediator模式在使用的彈性很大,由Sequence Diagram理解概念,會(huì)比從Class Diagram瞭解結(jié)構(gòu)來(lái)得重要,不過(guò)在Class Diagram中可以注意的是類(lèi)別的名稱(chēng),Colleague是同事的意思,將一群共事的元件視為一群共同合作的同事,為了使同事之間的活動(dòng)獨(dú)立,並使得團(tuán)隊(duì)合作的交互更具彈性,需要一個(gè)Mediator來(lái)協(xié)調(diào)同事之間的業(yè)務(wù)行為。
    posted on 2007-04-17 10:48 張金鵬 閱讀(378) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Behavioral 模式
    主站蜘蛛池模板: 人人狠狠综合久久亚洲婷婷| 亚洲精品国产高清嫩草影院| 中文字幕免费视频一| 在线免费中文字幕| 亚洲av色福利天堂| 国产 亚洲 中文在线 字幕| 午夜亚洲WWW湿好爽| 国产成年无码久久久免费| 亚洲无砖砖区免费| 免费在线黄色网址| 亚洲美女视频一区二区三区| 91在线亚洲综合在线| 女人18毛片水真多免费播放| 亚洲日韩中文字幕在线播放| 亚洲一区二区三区在线观看网站| 一个人看的免费视频www在线高清动漫 | 亚洲综合一区二区| 日本高清免费中文在线看| 91在线老王精品免费播放| 亚洲天堂一区在线| 免费看男人j放进女人j免费看| 免费看一级做a爰片久久| 中文字幕亚洲色图| 97在线线免费观看视频在线观看| 国内精品久久久久久久亚洲| 亚洲综合偷自成人网第页色 | 丝瓜app免费下载网址进入ios| 麻豆最新国产剧情AV原创免费| 久久精品国产亚洲一区二区| 久久久99精品免费观看| 亚洲男人在线无码视频| 国内精品免费在线观看| 亚洲综合色区中文字幕| 国产在线19禁免费观看国产| 色噜噜亚洲男人的天堂| 午夜国产羞羞视频免费网站| 丝瓜app免费下载网址进入ios| 亚洲一级高清在线中文字幕| 免费A级毛片无码A∨ | 亚洲无码在线播放| 亚洲毛片在线免费观看|