1. 程式人生 > >設計模式之中介者模式

設計模式之中介者模式

中介者對象

1、中介者模式的簡介:

a、中介者模式的核心:

- 如果一個系統中對象之間的聯系是呈現為網狀結構,對象之間存在大量多對多關系,將導致關系極其復雜,這些對象稱為“同事對象”。

- 我們可以引入一個中介者對象,使各個同事對象只跟中介者對象打交道,將復雜的網絡結構解為如下的星型結構。

技術分享


b、模式中主要的類介紹:

- Mediator 抽象中介者:定義了同事對象到中介者對象的接口。

- ConcreteMediator 具體中介者對象:實現抽象類的方法,它需要知道所有具體同事類,並從具體同事接收消息,向具體同事對象發出命令。

- Colleague:抽象同事類

- ConcreteColleague:具體同事類,每個具體同事只知道自己的行為,而不了解其他同事類的情況,但它們卻都認識中介者對象。


2、簡單的代碼演示:


a、Department 接口是抽象的同事類,Development、Markert、Finacial 類是具體的同事類,Persident 類是具體的中介者類。


技術分享


技術分享


技術分享


技術分享


技術分享


技術分享


b、看看 Client14 測試類中輸出的結果,以及示例代碼中的類圖關系。


技術分享

技術分享


3、開發中常見的場景:

- MVC 模式(其中的 C,控制器就是一個中介者對象。M 和 V 都和他打交道。)

- 窗口遊戲程序,窗口軟件開發中窗口對象也是一個中介者對象。

本文出自 “12392717” 博客,請務必保留此出處http://12402717.blog.51cto.com/12392717/1929485

設計模式之中介者模式