[Design Pattern] 掌握設計模式:Flyweight Pattern原理與應用

簡介 Flyweight Pattern(享元模式)是一種結構型設計模式,透過共用物件來減少記憶體使用。 問題 當系統中有大量相似物件時,導致記憶體消耗過大。 解決方案 將可共用的狀態抽離,讓多個物件共用同一份資料。 C# 範例 public class Flyweight...

June 16, 2025

[Design Pattern] 掌握設計模式:Interpreter Pattern原理與應用

簡介 Interpreter Pattern(直譯器模式)是一種行為型設計模式,為語言的文法定義一個直譯器。 問題 當需要解釋執行特定語法或語言時。 解決方案 為語法規則建立類別,並遞迴解譯。 C# 範例 public interface IExpression { int Interpret(); } public class NumberExpression : IExpression { private int _number; public...

June 16, 2025

[Design Pattern] 掌握設計模式:Mediator Pattern原理與應用

簡介 Mediator Pattern(中介者模式)是一種行為型設計模式,透過中介者物件封裝一組物件之間的互動。 問題 當多個物件之間存在複雜的交互關係時。 解決方案 將物件間的互動邏輯集中到中介者,減少物件間耦合。 C# 範例 public interface...

June 16, 2025

[Design Pattern] 掌握設計模式:Memento Pattern原理與應用

簡介 Memento Pattern(備忘錄模式)是一種行為型設計模式,保存物件的狀態,以便日後還原。 問題 當需要保存物件的歷史狀態,並可隨時還原時。 解決方案 將狀態儲存在備忘錄物件,並由管理者負責保存與還原。 C# 範例 public class...

June 16, 2025

[Design Pattern] 掌握設計模式:Observer Pattern原理與應用

簡介 Observer Pattern(觀察者模式)是一種行為型設計模式,當物件狀態改變時,自動通知所有依賴物件。 問題 當一個物件的變化需自動通知多個其他物件時。 解決方案 主體維護觀察者清單,狀態變更時通知所有觀察者。 C# 範...

June 16, 2025

[Design Pattern] 掌握設計模式:Proxy Pattern原理與應用

簡介 Proxy Pattern(代理模式)是一種結構型設計模式,為其他物件提供一種代理以控制對這個物件的存取。 問題 當需要在不改變原有物件的情況下,控制對物件的存取時。 解決方案 建立一個代理類別,包裝真實物件,並在...

June 16, 2025