12種行為模式 之8 MEDIATOR 調停者模式

2021-08-27 07:04:15 字數 1731 閱讀 5348

8、mediator

調停者模式:

沒使用調停者模式 : 乙個過度耦合的系統 : 網狀結構

使用調停者模式 後 : 以調停者為 中心的星狀結構

/*** user: [email protected]

* date: 2008-12-9 time: 15:24:28

* * note: 調停者角色

*/abstract public class mediator

/*** user: [email protected]

* date: 2008-12-9 time: 15:24:39

* * note: 具體調停者角色

*/public class concretemediator extends mediator

/*** 事件方法

* @param c

*/public void colleaguechanged(colleague c )

public colleague1 getcolleague1()

public colleague2 getcolleague2()

}/**

* user: [email protected]

* date: 2008-12-9 time: 15:24:50

* * note: 抽象同事角色

* 每個同事物件 僅知道調停者

* 而不知道其他同事物件

*/public abstract class colleague

/*** 當前同時物件發生變化時,通知調停者

*/public void change()

/*** 行動方法,乙個同事物件在得知其他同事物件有變化時

* 會執行此方法

*/public abstract void action();

public mediator getmediator()

}/**

* user: [email protected]

* date: 2008-12-9 time: 15:25:00

* * note: 具體同事角色

*/public class colleague1 extends colleague

public void action()

}/**

* user: [email protected]

* date: 2008-12-9 time: 15:25:10

* * note: 具體同事角色

*/public class colleague2 extends colleague

public void action()

}/**

* user: [email protected]

* date: 2008-12-9 time: 15:25:20

* * note: 具體同事角色

*/public class colleague3 extends colleague

public void action()

}/**

* user: [email protected]

* date: 2008-12-9 time: 15:34:30

* * note: 客戶端角色

*/public class client

}

23種設計模式之單例模式(8種寫法)

23種設計模式之單例模式 8種寫法 餓漢式 高效 沒有執行緒安全問題 簡單 jvm保證執行緒安全問題 public class merge01 public static merge01 getinstance public static void main string args 用靜態塊初始化 ...

23種設計模式之 12 享元模式(共享池)

練習原始碼 參考內容 簡說設計模式 享元模式 23種設計模式全解析 享元模式的主要目的是實現物件的共享,即共享池,當系統中物件多的時候可以減少記憶體的開銷,通常與工廠模式一起使用。flyweightfactory負責建立和管理享元單元,當乙個客戶端請求時,工廠需要檢查當前物件池中是否有符合條件的物件...

GoF23種設計模式之行為型模式之模板方法

概述 定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。templatemethod使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。適用性1.一次性實現乙個演算法的不變的部分,並將可變的行為留給子類來實現。2.各子類中公共的行為應被提取出來並集中到乙個公共父類中以避免 重複...