#

Behavioral

標籤 · 11 篇文章

Memento — 不破壞封裝的快照與復原

Memento 模式以快照記錄物件狀態,在不暴露內部結構的前提下支援 undo/redo,Java record 是現代的輕量實作。

·
#DesignPattern #Behavioral #Memento

Interpreter — 為語言定義文法與解釋器

Interpreter 模式為簡單語法定義 AST 與解釋邏輯,適合小型 DSL;複雜語法請改用 ANTLR 等解析器工具。

·
#DesignPattern #Behavioral #Interpreter

Iterator — 迭代器模式

迭代器模式:提供統一介面循序存取集合元素,不暴露底層資料結構,Java Iterable/Iterator 即此模式的內建實作。

·
#DesignPattern #Behavioral #Iterator

Visitor — 將演算法從物件結構抽離

訪問者模式透過雙分派將操作邏輯從物件結構抽離,適合在穩定的元素層級上頻繁新增操作

·
#DesignPattern #Behavioral #Visitor

State — 讓物件隨狀態改變行為

State 模式將狀態相關行為封裝成獨立類別,消除大型 if-else/switch,物件轉換狀態時行為自動切換。

·
#DesignPattern #Behavioral #State

Command — 命令模式

命令模式:將請求封裝為物件,讓呼叫者與接收者解耦,並支援 undo/redo、排隊與日誌記錄。

·
#DesignPattern #Behavioral #Command

Strategy — 策略模式

策略模式:定義一族可互換的演算法並各自封裝,讓演算法的變化獨立於使用它的客戶端,現代 Java 以 lambda 直接實現。

·
#DesignPattern #Behavioral #Strategy

Observer — 一對多狀態變更通知

Observer 模式定義一對多依賴關係,Subject 狀態變更時自動通知所有訂閱者;Spring @EventListener 是現代首選實作。

·
#DesignPattern #Behavioral #Observer

Chain of Responsibility — 責任鏈模式

責任鏈模式:將請求沿處理者鏈傳遞,讓多個物件都有機會處理請求,避免發送者與接收者的強耦合。

·
#DesignPattern #Behavioral #ChainOfResponsibility

Mediator — 以中介者解耦多方互動

Mediator 模式透過中介者集中管理物件間通訊,將網狀耦合降為星狀結構,Spring ApplicationEventPublisher 是其典型實踐。

·
#DesignPattern #Behavioral #Mediator

Template Method — 模板方法模式

模板方法模式:在抽象父類定義演算法骨架,子類覆寫特定步驟而不改變整體流程,體現好萊塢原則。

·
#DesignPattern #Behavioral #TemplateMethod