中介者模式(Mediator Pattern)

2022-09-05 05:57:10 字數 874 閱讀 4094

定義乙個中介物件來封裝一系列物件之間的互動。中介者使各物件不需要顯示地相互引用,從而使其耦合性鬆散,而且可以獨立地改變他們之間的互動。

mediator:中介者介面。在裡面定義了各個同事之間相互互動所需要的方法,可以是公共的方法,如change方法,也可以是小範圍的互動方法。

concretemediator:具體的中介者實現物件。它需要了解並為維護每個同事物件,並負責具體的協調各個同事物件的互動關係。

colleague:同事類的定義,通常實現成為抽象類,主要負責約束同事物件的型別,並實現一些具體同事類之間的公共功能,比如,每個具體同事類都應該知道中介者物件,也就是每個同事物件都會持有中介者物件的引用,這個功能可定義在這個類中。

concretecolleague:具體的同事類,實現自己的業務,需要與其他同事物件互動時,就通知中介物件,中介物件會負責後續的互動。

使用終結者模式的場合

1.一組定義良好的物件,現在要進行複雜的通訊。

2.定製乙個分布在多個類中的行為,而又不想生成太多的子類。

可以看出,中介物件主要是用來封裝行為的,行為的參與者就是那些物件,但是通過中介者,這些物件不用相互知道。呵呵~~~

使用中介者模式的優點:

1.降低了系統物件之間的耦合性,使得物件易於獨立的被復用。

2.提高系統的靈活性,使得系統易於擴充套件和維護。

使用中介者模式的缺點:

中介者模式的缺點是顯而易見的,因為這個「中介「承擔了較多的責任,所以一旦這個中介物件出現了問題,那麼整個系統就會受到重大的影響。

中介者模式

1.中間 類 namespace intermediarypattern 成員物件需要知道是哪個中介者在通知它事情 public abstract class member 各成員間要傳送訊息 public abstract void send string msg 這個方法其實是具體實施發訊息的 ...

中介者模式

中介者模式就是在物件之間的關係很複雜時用,名如其人,就像租房的黑中介一樣,如果每個房東都拿著很多租房者的資訊很麻煩,每個租房者都要拿著很多房東的資訊也麻煩,所以需要乙個中介來拿著這些資訊,租房者只需要發出租房的請求,中介會給你介紹合適的房東,房東只需要提交房屋資料就等著中介的人帶著訪客看房拿錢就行了...

中介者模式

中介者模式 mediator pattern 1 抽象中介者 mediator 角色 抽象中介者角色定義統一的介面用於各同事角色之間的通訊。具體中介者 concrete mediator 角色 具體中介者角色通過協調各同事角色實現協作行為,因此它必須依賴於各個同事角色。同事 colleague 角色...