工廠方法模式中傳遞的資料模型:
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.FactoryMethod
{
///
/// 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; }
}
}
}
定義所有具體產品必須實作的介面契約:
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.FactoryMethod
{
///
/// 操作 Message 抽象類別(Product)
///
public abstract class AbstractMessage
{
///
/// 獲取 Message
///
/// MessageModel 清單
public abstract List<MessageModel> Get();
///
/// 插入 Message
///
/// Message 實體物件
/// 是否成功
public abstract bool Insert(MessageModel mm);
}
}
Get()、Insert() 兩個核心操作。CreateMessage() 工廠方法。