中介者模式(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作業系統中看到的日曆 例如,當配置系統日期時看到的日曆 相似。該控制項每次顯示乙個月份,允許從乙個月份跳到另乙個月份 通過單擊箭頭按鈕 或跳到...