在軟體的構建構成中,經常存在多個物件相互互動的情況,這樣的話,乙個類的改變的話,其他關聯的物件都需要改變。解決的辦法是在各個物件之間增加乙個mediator中介者,使用這個物件來管理這些物件的互動。
第一種:
第二種:
/// mediator design pattern.
///
}/// /// the 'mediator' abstract class
///
abstract class mediator
/// /// the 'concretemediator' class
///
class concretemediator : mediator
}public concretecolleague2 colleague2
}public override void send(string message,
colleague colleague)
else}}
/// /// the 'colleague' abstract class
///
abstract class colleague
}/// /// a 'concretecolleague' class
///
class concretecolleague1 : colleague
public void send(string message)
public void notify(string message)
} /// /// a 'concretecolleague' class
///
class concretecolleague2 : colleague
public void send(string message)
public void notify(string message)
}
設計模式學習16 Mediator
在軟體的構建構成中,經常存在多個物件相互互動的情況,這樣的話,乙個類的改變的話,其他關聯的物件都需要改變。解決的辦法是在各個物件之間增加乙個mediator中介者,使用這個物件來管理這些物件的互動。第一種 using system using system.collections.generic u...
設計模式 16 狀態模式
狀態模式 當乙個物件的內在狀態改變時允許改變其行為,這個物件看起來像是改變了其類。解決的問題 當控制乙個物件狀態轉換的條件表示式過於複雜,把狀態的判斷邏輯轉移到表示不同狀態的一系列類中,把複雜的判斷邏輯簡單化。state 抽象狀態類,定義介面以封裝與context乙個特定狀態相關的行為 concer...
設計模式 組合模式(16)
一 定義 組合模式將物件組合成樹形結構以表示 部分 整體 的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。二 框架運用 springmvc通過組合模式,使得使用者或者說框架本身在進行配置時,就通過操作webmvcconfigurer類及其衍生類這個整體就行了 三 實戰 1 抽象類...