設計模式(25) - 行爲型模式總結

行爲型模式關注於對象之間在行爲方面的交互。可以從如下角度來解析各種行爲模式:

  • 和對象狀態更新相關的模式
  • 備忘錄模式關注於對象狀態的備份與恢復,但不破壞對象的封裝性。Memento由對象自行創建,由客戶保持;客戶在需要的時候利用 Memento來恢復對象狀態
  • 狀態模式描述了對象狀態的修改如何導致對象行爲的改變
  • 觀察者模式引入訂閱,發佈機制來通知觀察者關於被觀察對象狀態的更新;這種機制解除了對象對於觀察者的依賴
  • 和對象對象方法相關的模式           
  • 模板方法模式利用了C++的多態特性,利用虛函數來定義一個穩定的算法框架,通過子類的多態性,在相同的算法框架下呈現差異化的行爲
  • 策略模式把算法封裝成函數對象,並利用該函數對象來配置另外一個對象,從而改變該對象的行爲
  • 和集合對象遍歷相關的模式
  • 迭代器模式遍歷集合對象,支持不同的遍歷算法,但隱藏集合的具體結構,保持了集合對象的封裝性
  • 責任鏈模式在遍歷集合對象的過程中,讓集合中多個節點元素對象基於相同接口來處理一個請求,隱藏某個請求可能的多個接受者的事實
  • 訪問者模式提供一個Visitor接口來遍歷集合對象,保持節點元素的穩定性,但是可以靈活的擴展節點的訪問方法
  • 對象之間的交互依賴:
  • 命令模式把請求封裝成爲一個命令對象,命令對象隱藏了命令的接受者信息(接受者類型,接收接口,接收邏輯等),消除了消息發送者和接收者直接依賴
  • 中介者模式把多個對象之間的交互關係,集中到一箇中介者對象來處理。避免了對象和其他對象的直接交互,提高了對象的可重用性
行爲型模式提高了對象的封裝性和內聚性,降低了對象之間的耦合度。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章