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

C# 設計模式:觀察者模式基礎實體與介面定義 (2/5)

     編輯:關於C語言

核心資料結構:MessageModel 實體類別

MessageModel 是觀察者模式中傳遞的資料載體,封裝訊息內容與發布時間:

using System;
using System.Collections.Generic;
using System.Text;

namespace Pattern.Observer
{
    /// 
    /// Message 實體類別
    /// 
    public class MessageModel
    {
        /// 
        /// 建構函式
        /// 
        /// Message 內容
        /// Message 發布時間
        public MessageModel(string msg, DateTime pt)
        {
            this._message = msg;
            this._publishTime = pt;
        }

        private string _message;
        /// 
        /// Message 內容
        /// 
        public string Message
        {
            get { return _message; }
            set { _message = value; }
        }

        private DateTime _publishTime;
        /// 
        /// Message 發布時間
        /// 
        public DateTime PublishTime
        {
            get { return _publishTime; }
            set { _publishTime = value; }
        }
    }
}

觀察者介面契約:IMessage

定義所有觀察者必須實作的方法,建立主題與觀察者之間的通訊協定:

using System;
using System.Collections.Generic;
using System.Text;

namespace Pattern.Observer
{
    /// 
    /// 操作 Message 的介面(Observer)
    /// 
    public interface IMessage
    {
        /// 
        /// 插入 Message
        /// 
        /// Message 實體物件
        /// 處理結果字串
        string Insert(MessageModel mm);
    }
}

架構關係圖解

  • MessageModel:資料傳輸物件 (DTO),攜帶狀態資訊。
  • IMessage:觀察者角色介面,定義 Insert() 回調方法。
  • 具體觀察者(SqlMessage、XMLMessage)實作此介面。
  • 主題類別持有 List<IMessage>,對介面編程而非具體類別。

這兩個基礎組件為整個觀察者模式奠定了堅實的類型基礎,確保系統擴展時的類型安全與介面一致性。

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