觀察者模式
Observer(觀察者)—對象行為型模式定義:定義了一種一對多的依賴關系,讓多個觀察者對象同時監聽某一主題對象,在它的狀態發生變化時,會通知所有的觀察者.
先將 Observer A B C 注冊到 Observable ,那么當 Observable 狀態改變時會通知它持有的所有 Observer
設計原則:
? 遵循迪米特法則
? 開閉原則
適用場景分析:
1.事件多級觸發場景,如bean生命周期產生的事件。
2.跨系統的消息交換場景,如消息隊列的處理機制。
命令模式
Command(命令)—對象行為型模式定義:將一個請求封裝成一個對象,以便使用不同參數來表示不同的請求(即命名)。
Action 封裝了具體行為,Command 封裝了 Action 并提供空方法 execute() ,它的子類通過重寫該方法可在方法里調用 mAction 不同行為達到封裝命令的目的。
設計原則:
? 遵循迪米特
? 單一職責
? 開閉原則適用場景分析:
1.在GUI開發中,一個按鈕的點擊是一個命令,可以采用命令模式;模擬DOS命令的時候,當然也要采用命令模式。
2.智能家居、機器人的指令封裝。