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

C# 設計模式:建造者模式基礎實體與 SQL 產品類別 (2/5)

     編輯:關於C語言

資料實體:MessageModel

建造者模式中傳遞的資料模型,封裝訊息內容與發布時間:

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

namespace Pattern.Builder
{
    /// 
    /// 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; }
        }
    }
}

SQL 產品類別:SqlMessage

提供 SQL 方式的實際資料操作實作:

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

namespace Pattern.Builder
{
    /// 
    /// Sql 方式操作 Message
    /// 
    public class SqlMessage
    {
        /// 
        /// 獲取 Message
        /// 
        /// MessageModel 清單
        public List<MessageModel> Get()
        {
            List<MessageModel> l = new List<MessageModel>();
            l.Add(new MessageModel("SQL方式獲取Message", DateTime.Now));
            return l;
        }

        /// 
        /// 插入 Message
        /// 
        /// Message 實體物件
        /// 是否成功
        public bool Insert(MessageModel mm)
        {
            // 程式碼略
            return true;
        }
    }
}

角色定位說明

  • MessageModel:資料傳輸物件 (DTO),在建造過程中作為參數傳遞給建造者。
  • SqlMessage:建造者模式中的「具體產品」角色之一,封裝 SQL 實際操作邏輯。
  • XMLMessage(下一篇介紹):另一個「具體產品」角色,封裝 XML 操作邏輯。

這兩個基礎類別為建造者模式提供了資料載體與實際操作實體,建造者負責構建如何調用這些實體的指令,指導者負責協調建造流程,最終由 Operation 透過反射執行實際操作。

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