中介者模式

2022-03-08 15:04:34 字數 1702 閱讀 6388

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

uml圖:

colleague叫做抽象同事類,而concretecolleague是具體同事類,每個具體同事只知道自己的行為,而不了解其他同事類的情況,但他們卻都認識中介者物件,mediator是抽象中介者,定義了同時物件到中介者物件的介面,concretemediator是具體中介者物件,實現抽象類的方法,他需要知道所有具體同事類,並從具體同事接受訊息,向具體同事物件發出命令。

**示例如下:

1

//抽象同事類

2public

abstract

class

colleague

9 }

1

//concretecolleague2同事類

2public

class concretecolleague1 extends

colleague78

public

void

send(string message)

1213

public

void

inform(string message)

1617 }

1

//concretecolleague2同事類

2public

class concretecolleague2 extends

colleague78

public

void

send(string message)

1213

public

void

inform(string message)

1617 }

1

//mediator類,抽象中介者類

2public

abstract

class

mediator

1

//concretemediator類,具體中介者類

2public

class concretemediator extends

mediator

9public

void

setcolleague2(concretecolleague2 colleague2)

1213

//重寫傳送資訊的方法,根據物件做出選擇判斷,通知物件

14@override

15public

void

send(string message, colleague colleague) else21}

2223 }

客戶端測試**:

1

//客戶端

2public

class

testclient

18 }

執行結果:

同事2得到資訊:吃過飯了嗎?

同事1得到資訊:沒有呢,你打算請客?

中介者模式

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

中介者模式

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

中介者模式

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