這幾種行爲型設計模式分別爲:
- Template Method 模板方法模式
- Command 命令模式
- Interpreter 解釋器模式
- Mediator 中介者模式
- Iterator 迭代器模式
- Observer 觀察者模式
- Chain Of Responsibility 職責鏈模式
- Memento 備忘錄模式
- State 狀態模式
- Strategy 策略模式
- Visitor 訪問者模式
對比:
- Template Method模式封裝算法結構,支持算法子步驟變化
- Strategy 策略模式注重封裝算法,支持算法的變化
- State模式注重封裝與狀態相關的行爲,支持狀態的變化
- Memento備忘錄模式注重封裝對象狀態變化,支持狀態保存/恢復
- Mediator 中介者模式注重封裝對象間的交互,支持對象交互的變化
- Chain Of Responsibility 模式注重封裝對象責任,支持責任的變化
- Command 模式注重將請求封裝爲對象,支持請求的變化
- Iterator 迭代器模式注重封裝集合對象內部結構,支持集合的變化
- Interpreter 解釋器模式注重封裝特定領域變化,支持領域問題的頻繁變化
- Observer 模式注重封裝對象通知,支持通信對象的變化
- Visitor 模式注重封裝對象操作變化,支持在運行時爲類層次結構動態添加新的操作。
參考:
學習筆記:7種結構型設計模式簡單對比
http://blog.joycode.com/ghj/archive/2009/06/08/115607.joy
學習筆記:5種創建型設計模式簡單對比
http://blog.joycode.com/ghj/archive/2009/05/08/115570.joy
Gof 23 中模式關係圖
http://www.blogjava.net/images/blogjava_net/fantasyamin/design_pattern_relation.png