[Design Pattern] 掌握設計模式:Chain of Responsibility Pattern原理與應用
簡介 Chain of Responsibility Pattern(責任鏈模式)是一種行為型設計模式,讓多個物件有機會處理請求,並將這些物件串成一條鏈。 問題 當多個物件都有機會處理請求,但最終只需一個物件處理時。 解決方案 將處理者串成鏈,請求沿鏈...
簡介 Chain of Responsibility Pattern(責任鏈模式)是一種行為型設計模式,讓多個物件有機會處理請求,並將這些物件串成一條鏈。 問題 當多個物件都有機會處理請求,但最終只需一個物件處理時。 解決方案 將處理者串成鏈,請求沿鏈...
簡介 Command Pattern(命令模式)是一種行為型設計模式,將請求封裝為物件,讓你用不同的請求、佇列或日誌參數化物件。 問題 當需要將請求、操作等封裝成物件,並可排程、撤銷或記錄時。 解決方案 將命令封裝成類別,並...
簡介 Decorator Pattern(裝飾者模式)是一種結構型設計模式,允許你動態地為物件新增行為,而不需修改原本的程式碼。 問題 當需要在不改變原有類別的情況下,動態地擴充物件功能時。 解決方案 將功能包裝在裝飾者類別中,...
簡介 Facade Pattern(外觀模式)是一種結構型設計模式,為子系統中的一組介面提供一個統一的高層介面。 問題 當系統過於複雜,客戶端需要簡單介面與子系統互動時。 解決方案 建立一個外觀類別,封裝子系統的複雜性,對...
簡介 Flyweight Pattern(享元模式)是一種結構型設計模式,透過共用物件來減少記憶體使用。 問題 當系統中有大量相似物件時,導致記憶體消耗過大。 解決方案 將可共用的狀態抽離,讓多個物件共用同一份資料。 C# 範例 public class Flyweight...
簡介 Interpreter Pattern(直譯器模式)是一種行為型設計模式,為語言的文法定義一個直譯器。 問題 當需要解釋執行特定語法或語言時。 解決方案 為語法規則建立類別,並遞迴解譯。 C# 範例 public interface IExpression { int Interpret(); } public class NumberExpression : IExpression { private int _number; public...