行為型模式比較

2021-09-02 10:39:42 字數 1008 閱讀 2610

常見行為型模式有11種:cciimm(chain of responsibility職責鏈、command命令、interpreter直譯器、iterator迭代、mediator中介者、memento備忘錄),osstv(observer觀察者、state狀態、strategy策略、template method模版方法、visitor訪問者)。

行為型模式設計到演算法和物件間的職責分配,不僅描述物件或類的模式,還描述它們之間的通訊方式,刻劃了執行時難以跟蹤的複雜的控制流,它們將你的注意力從控制流轉移到物件間的關係上來。

行為型類模式採用繼承機制在類間分派行為,例如template method 和interpreter;

行為物件模式使用物件復合而不是繼承。一些行為物件模式描述了一組相互對等的物件如何相互協作以完成其中任何乙個物件都單獨無法完成的任務,如mediator、chain of responsibility、strategy;

其它的行為物件模式常將行為封裝封裝在乙個物件中,並將請求指派給它。

行為模式涉及到演算法和物件職責間的分配,行為類模式採用繼承機制在類間分派行為,template method和interpreter是類行為模式。行為物件模式使用物件復合而不是繼承,一些行為物件模式描述了一組相互對等的物件如何相互協作以完成其中任何乙個物件都單獨無法完成的任務,如mediator在物件間引入乙個mediator物件提供了松耦合所需的間接性;chain of responsibility提供了更鬆的耦合,它通過一條候選物件鏈隱式的向乙個物件發松請求,可以執行時刻決定哪些候選者參與到鏈中;observer定義並保持了物件間的依賴關係;其它的行為物件模式常將行為封裝封裝在乙個物件中,並將請求指派給它,strategy模式將演算法封裝在物件中,這樣可以方面的改變和指定乙個物件所使用的演算法;command模式將請求封裝在物件中,這樣它就可以作為引數來傳遞,已可以儲存在歷史列表中或以其它方式使用;state模式封裝乙個物件的狀態,使得當這個物件的狀態物件變化時,該物件可改變它的行為;visitor模式封裝分布於多個類之間的行為;而iterator模式則抽象了訪問和遍歷乙個集合中物件的方式。

行為型模式

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

行為型模式

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

行為型模式

行為型模式 1.template method模板方法 定義乙個操作種的演算法的框架,而將一些步驟延遲到子類中,使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。2.command 命令模式 將以個請求封裝成乙個物件,從而讓你使用不同的請求把客戶端引數化,對請求排隊或者記錄請求日誌...