CPP之中介者設計模式

2021-07-08 15:45:51 字數 1171 閱讀 7229

1 故事

公司組織去奧林匹克公園team building,主題是「把信送給加西亞」。頭天,組長組織大家秘密商討,主題時如何奪取第二天的ipad2大獎的計畫。由於人員眾多,組長怕大家不認識,要求每個人用一句話形容自己,然後順時針把剩下的所有人描述自己的話再重複出來,這樣經過2輪,名字基本記住了,雖然免不了張冠李戴:比如gc同學異常肯定的把硬體部的hq稱為圓圓的jy引的大家哈哈大笑。

第二天,送信活動開始了。gc自告奮勇的充當馬前卒,跑到前面去尋找路途中的挑戰:一尊佛像。結果呢,他沒有看要求的任務書,跑到終點去了。更要命的是,除了組秘cyy mm之外,沒人知道他的手機,大家七嘴八舌的討論如何盡快找他回來,通話全部是靠組秘乙個人,當然了,白白浪費全組的寶貴時間。

集體中每個人之間通訊是很麻煩的,需要把所有人的手機輸入到自己的通訊錄中。沒有人這麼幹,因為太麻煩了。

2 中介(者)模式

角色之一:中介(組秘cyy)

角色之二:同事

協作:中介擁有每個同事的****,每個同事只擁有中介的****。同事之間的通訊全靠中介中轉。

3 好處

大大降低了同事之間通訊的複雜度,每個人只需要和中介通訊,中介傳遞同事之間的訊息。

4 實現

classprogram ​

}public abstract class colleague

public mediator getmediator()

} public class concretecolleaguea : colleague

public void someoperation()

} public class concretecolleagueb : colleague

public void someoperation()

} public inte***ce mediator  

public class concretemediator

public voidsetconcretecolleagueb(concretecolleagueb colleague)

public void changed(colleaguecolleague)

}

設計模式之中介者模式

1 抽象中介者,mediator 抽象中介 author jin.li public abstract class mediator2 具體的中介者,主機板 主機板中介 author jin.li public class mainboard extends mediator if colleagu...

設計模式之中介者模式

中介者模式 假如沒有總經理,下面六個個部門,財務部 市場部 研發部,財務部要發工資,讓大家核對公司需要跟市場部和研發部都通氣,市場部要接個新專案,需要研發部門處理技術,需要財務部出資金,市場部跟各個部門打交道,雖然只有六個個部門,但是關係非常亂 實際上,公司有總經理,各個部門有什麼事情都通報給總結裡...

設計模式之中介者模式

嘮叨幾句 設計模式的案例我已經寫過大部分的案例,但是本人沒有經常寫部落格的習慣,最近在將本人之前在碼雲上的案例直接搬過來 個人感覺容易和外觀模式弄混,所以在這裡做下簡單的比較 外觀模式 本質封裝互動,組合呼叫。就是向外部提供一組功能,但是具體的實現比較複雜,內部有喝多的元件相互組合呼叫,強調的是外觀...