第二十五章 中介者模式

2022-08-15 17:27:13 字數 1624 閱讀 2354

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

優點:mediator的出現減少了各個colleague的耦合,使得可以獨立改變和復用各個colleague類和mediator。由於把物件如何協作進行了抽象,將中介作為乙個獨立的概念並將其封裝在乙個物件中,這樣關注的重點就從物件各自的行為轉移到它們之間的互動上來,也就是站在乙個更巨集觀的角度去看待系統。

缺點:由於concretemediator控制了集中化,於是就把互動複雜性變為了中介者的複雜性,這就使得中介者會變得比任何乙個concretecolleague都複雜。

應用場景:一般應用於一組物件以定義良好但是複雜的方式進行通訊的場合;以及想定義乙個分布在多個類中的行為,而又不想生成太多子類的場合。

/**

* created by hero on 16-4-11. */

public

abstract

class

mediator

/*** created by hero on 16-4-11. */

public

class concretemediator extends

mediator

else

}public

concretecolleague1 getconcretecolleague1()

public

void

setconcretecolleague1(concretecolleague1 concretecolleague1)

public

concretecolleague2 getconcretecolleague2()

public

void

setconcretecolleague2(concretecolleague2 concretecolleague2)

}/**

* created by hero on 16-4-11. */

public

abstract

class

colleague

}/**

* created by hero on 16-4-11. */

public

class concretecolleague1 extends

colleague

public

void

notify(string message)

public

concretecolleague1(mediator mediator)

}/**

* created by hero on 16-4-11. */

public

class concretecolleague2 extends

colleague

public

void

notify(string message)

public

concretecolleague2(mediator mediator)

}public

class

main

}

第二十五章 狂風

氈帳外寒風吹,而氈帳內卻很暖和。滕青山喝著熱奶茶,吃了大塊羊肉,還有大盆的手拌炒麵。雖然沒九州大地上菜餚精緻,可也是吃地全身舒坦。大哥!一名穿著灰色皮袍子的青年走進氈帳內。原先正和滕青山談的正高興的查布,見這人進來,不由臉色一沉 你來,有什麼事?嘖嘖。那青年瞥了滕青山一眼,當看到滕青山身上的破棉祅不...

第二十五章 使用觸發器

如果想要某條語句 或某些語句 在事件發生時自動執行,此時就需要觸發器。如果需要在某個表發生更改時自動進行一些其他的處理。這確切地說就需要觸發器。觸發器是mysql響應以下任意語句而自動執行的一條mysql語句 或位於 begin 和 end 語句之間的一組語 句 delete insert upda...

WPF學習 第二十五章 日期控制項

wpf包含兩個日期控制項 calender和datepicker。這兩個控制項都被設計為允許使用者選擇日期。calendar控制項顯示日期,在與windows作業系統中看到的日曆 例如,當配置系統日期時看到的日曆 相似。該控制項每次顯示乙個月份,允許從乙個月份跳到另乙個月份 通過單擊箭頭按鈕 或跳到...