首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 觀察者模式實作(一)

     編輯:關於C語言

模式動機

觀察者模式將觀察者(如 UI)與被觀察者(如業務資料)解耦。被觀察者狀態變更時,自動通知所有已註冊觀察者,觀察者據以更新顯示。符合「單一職責」原則,提升維護性與重用性。

核心原則:非直接呼叫

觀察者與被觀察者不得直接互呼方法,否則形成緊耦合。雙方透過註冊/通知/移除流程互動:

  1. 觀察者向被觀察者註冊,被觀察者存入容器。
  2. 狀態變更時,被觀察者遍歷容器逐一通知。
  3. 觀察者可隨時要求移除。

介面定義


// 觀察者契約
public interface IObserver
{
    void Notify(object data);
}

// 被觀察者契約
public interface IObservable
{
    void Register(IObserver observer);
    void UnRegister(IObserver observer);
}

被觀察者僅依賴 IObserver 介面,不關心具體類型,支援多型觀察者群。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved