中介者模式(mediator),用乙個中介物件來封裝一系列的物件互動。用來降低多個物件和類之間通訊複雜性。
利用群聊來展示中介者模式的簡單使用:
類結構設計如下:
**邏輯如下:
public
inte***ce
isend
void
send
(string message);}
public
class
user
:isend
public
user
(string name)
public
void
send
(string message)
}public
class
storesystem
:isend
public
storesystem()
public
void
send
(string message)
}public
class
boardsystem
:isend
public
boardsystem()
public
void
send
(string message)
}
public
class
chatroom
]:", user.name, message);}
}
static
void
main
(string
args)
執行結果:
[張三]
:hahhahah
[定坤]
:成功啦
[**系統]
:新品上市啦
[系統廣播]
:***x獲得了大獎
上訴例子中,chatroom就相當於中介者,在系統的群聊裡使用者可能會收發訊息,不同的系統可能會有各自的訊息廣播,利用中介者模式每個訊息的傳送者只管訊息的傳送,所有的訊息處理都交給中介者chatroom來處理,以此來達到解耦的目的。 設計模式 中介者模式
假如沒有總經理,下面三個部門 財務部,市場部,研發部。財務部要發工資,讓大家核對公司需要跟市場部和研發部都通氣 市場部要接新專案,需要研發部處理技術 需要財務部出資金。市場部跟各個部門打交道。雖然只有三個部門,但是關係非常亂。實際上,公司都有總經理。各個部門有什麼事情都通報到總經理這裡,總經理再通知...
設計模式 中介者模式
在我們的日常生活中經常需要購買各種各樣的東西,房子 車子 生活用品等等。那麼我們並不會對各個產品都了解,所以銷售人員應運而生,他們了解產品,然後他們根據你的需求在向你們推薦符合你們要求的產品。這些銷售人員就相當於中介,處於客戶和產品之間,為你們搭橋牽線。這就是這篇需要講述的乙個設計模式 中介者模式。...
設計模式 中介者模式
在學習這個模式之前,我們先來回顧一下乙個物件導向的設計原則 迪公尺特原則,這個原則告訴我們 乙個物件盡可能少跟其他物件進行關聯,就像乙個人要少跟陌生人說話一樣。而中介者模式,也正是為了協調多個物件之間複雜的引用關係。我們來看乙個例子,雖然這個例子不太好,後期想個好一點的例子再改。在中介者模式中,主要...