行爲模式總結

行爲模式綜述

行爲模式是對在不同的對象之間劃分責任和算法的抽象化。行爲模式不僅僅是關於類和對象的,而且是關於它們之間的相互作用的。可分爲類的行爲模式和對象的行爲模式。

類的行爲模式:類的行爲模式使用繼承關係在幾個類之間分配行爲
對象的行爲模式:使用對象的聚合來分配行爲

常見行爲型模式有11種:CCIIMM(Chain of Responsibility職責鏈、Command命令、Interpreter解釋器、Iterator迭代、Mediator中介者、Memento備忘錄),OSSTV(Observer觀察者、State狀態、Strategy策略、Template Method模版方法、Visitor訪問者)。


Chain of Responsibility

詳細鏈接

Chain of Responsibility

簡述

使多個對象都有機會處理請求,從而避免請求的發送者和接收者之間的耦合關係。將這些對象連成一條鏈,並沿着這條鏈傳遞該請求,直到有一個對象處理它爲止。


Command

詳細鏈接

Command

簡述

將一個請求封裝爲一個對象,從而使你可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日誌,以及支持可撤銷的操作。


Interpreter

詳細鏈接

Interpreter

簡述

給定一種語言,定義他的文法的一種表示,並定義一個解釋器,該解釋器使用該表示來解釋語言中句子。如果一種特定類型的問題發生頻率足夠高,那麼可以將該問題的實例表述爲一個簡單語言中的句子。這樣就可以構建一個解釋器,該解釋器通過解釋該句子來解決問題。


Mediator

詳細鏈接

Mediator

簡述

定義一箇中介對象來封裝系列對象之間的交互。中介者使各個對象不需要顯示地相互引用,從而使其耦合性鬆散,而且可以獨立地改變他們之間的交互。


Memento

詳細鏈接

Memento

簡述

在不破壞封裝性的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態。這樣就可以將該對象恢復到原先保存的狀態。如果系統需要提供回滾操作時,使用備忘錄模式非常合適。例如文本編輯器的Ctrl+Z撤銷操作的實現,數據庫中事務操作。


Observer

詳細鏈接

Observer

簡述

又被稱爲發佈-訂閱Subscribe模式、模型-視圖View模式、源-收聽者Listener模式或從屬者模式。觀察者模式定義了一種一對多的依賴關係,讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態發生變化時,會通知所有觀察者對象,使它們能夠自動更新自己。


State

詳細鏈接

State

簡述

當一個對象的內在狀態改變時允許改變其行爲,這個對象看起來像是改變了其類。主要解決的是當控制一個對象狀態轉換的條件表達式過於複雜時的情況。把狀態的判斷邏輯轉移到表示不同的一系列類當中,可以把複雜的邏輯判斷簡單化。


Strategy

詳細鏈接

Strategy

簡述

策略模式定義了一系列的算法,並將每一個算法封裝起來,而且使它們還可以相互替換。策略模式讓算法獨立於使用它的客戶而獨立變化。


Template Method

詳細鏈接

Template Method

簡述

定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。該模式使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。


Visitor

詳細鏈接

Visitor

簡述

封裝某些作用於某種數據結構中各元素的操作,它可以在不改變數據結構的前提下定義作用於這些元素的新的操作。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章