簡介
Observer Pattern(觀察者模式)是一種行為型設計模式,當物件狀態改變時,自動通知所有依賴物件。
問題
當一個物件的變化需自動通知多個其他物件時。
解決方案
主體維護觀察者清單,狀態變更時通知所有觀察者。
C# 範例
public interface IObserver {
void Update();
}
public class ConcreteObserver : IObserver {
public void Update() { Console.WriteLine("收到通知"); }
}
public class Subject {
private List<IObserver> observers = new();
public void Attach(IObserver observer) { observers.Add(observer); }
public void Notify() { foreach(var o in observers) o.Update(); }
}
結論
Observer Pattern 適合事件通知、訂閱等場景。