簡介

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 適合事件通知、訂閱等場景。