DesignPatterns
1. 關於 Mediator
2. UML
3. 將 UML 轉為程式碼
4. 情境
OS:Windows 10
IDE:Visual Studio 2019
Define an object that encapsulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interaction independently.
by Gang of Four
Mediator(中介者)屬於行為型(Behavioral Patterns),當遇到物件間相互存在複雜引用時,可藉由 Mediator 來將物件間互動邏輯抽離,減低物件之間耦合,之後若需要修改互動邏輯時則不只需要修改 Mediator 而不需要動到物件本身。
優點:
缺點:
Class 間關聯:
Class:
中介者的介面
中介者實作
包含 Mediator 的介面
Colleague 實作,可經由中介者與其他 ConcreteColleague 互動
mediator
mediator
傳入colleague1
& colleague2
colleague1
& colleague2
指定給mediator
colleague1
& colleague2
經由mediator
互動執行結果
我們接到了一個門市取得其他分店庫存的需求
中介者的介面
中介者實作
包含 Mediator 的門市介面
門市間可透過 Mediator 取得其他分店庫存
mediator
mediator
傳入storeDaan
& storeXinyi
storeDaan
& storeXinyi
指定給mediator
mediator
取得信義店庫存執行結果
GitHub:Behavioral_05_Mediator