行為型模式

2022-07-06 00:24:12 字數 1567 閱讀 4888

行為型模式

1.template method模板方法

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

2.command 命令模式

將以個請求封裝成乙個物件,從而讓你使用不同的請求把客戶端引數化,對請求排隊或者記錄請求日誌,可以提供命令的撤銷和恢復功能。

3.interpreter 直譯器模式

直譯器模式是按照規定語法進行解析的方案,在現在專案中使用較少,給定一門語言,定義它的文法的一種表示,並定義乙個直譯器,該直譯器使用該表示來解釋語言中的句子。

4.mediator 中介者模式

用乙個中介物件封裝一系列的物件互動,中介者使各物件不需要顯示地相互作用,從而使其耦合鬆散,而且可以獨立改變他們之間的互動

5.iterator 迭代器模式

:提供一種方法順序訪問乙個聚合物件中的各種元素,而又不暴露該物件的內部表示。

6.observer 觀察者模式

當物件間存在一對多關係時,則使用觀察者模式(observer pattern)。比如,當乙個物件被修改時,則會自動通知依賴它的物件。觀察者模式屬於行為型模式。

7.職責鏈模

職責鏈模式是這樣一種設計模式,設計一種處理鏈,允許請求沿著處理鏈進行傳送。收到請求後,每個處理者都可以對請求進行處理,並選擇是否將請求傳遞給下乙個處理者,或者封裝新的請求傳遞下去。

8.memento 備忘錄模式

儲存乙個物件的某個狀態,以便在適當的時候恢復物件。備忘錄模式屬於行為型模式。

9.state 狀態模式

類的行為是基於它的狀態改變的。這種型別的設計模式屬於行為型模式。

在狀態模式中,我們建立表示各種狀態的物件和乙個行為隨著狀態物件改變而改變的

context 物件

10.strategy 策略模式

乙個類的行為或其演算法可以在執行時更改。這種型別的設計模式屬於行為型模式。

在策略模式中,我們建立表示各種策略的物件和乙個行為隨著策略物件改變而改變的 context 物件。策略物件改變 context 物件的執行演算法

11.visitor 訪問者模式

我們使用了乙個訪問者類,它改變了元素類的執行演算法。通過這種方式,元素的執行演算法可以隨著訪問者改變而改變。這種型別的設計模式屬於行為型模式。根據模式,元素物件已接受訪問者物件,這樣訪問者物件就可以處理元素物件上的操作。

行為型模式

1.職責鏈模式 chain of responsibility 定義 避免請求傳送者與接收者耦合在一起,讓多個物件都又肯接受請求,將這些物件鏈結成一條鏈,讓多個物件都有可能接收邀請,直到有物件處理它為止。職責鏈是一種物件行為型模式 結構圖 抽象處理者handler 案例 採購單 優點 系統增加乙個新...

行為型模式

行為型模式用於描述程式在執行時複雜的流程控制,即描述多個類或物件之間怎樣相互協作共同完成單個物件都無法單獨完成的任務,它涉及演算法與物件間職責的分配。行為型模式分為類行為模式和物件行為模式,前者採用繼承機制來在類間分派行為,後者採用組合或聚合在物件間分配行為。由於組合關係或聚合關係比繼承關係耦合度低...

行為型模式

模式動機 strategy pattern 在完成乙個任務時可能有多種方式,具體使用哪種方式最有效,需要視條件而定,不同條件下所選擇的策略也有所不同,這就需要在乙個環境中對當前的情況做出各種判斷,在程式設計中表現為分支結構的實現,即在乙個環境類中通過不同分支來決定使用哪種策略,這種將實現策略與當前環...