組合模式中作為葉子節點資料載體的實體類別:
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.Composite
{
///
/// 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; }
}
}
}
MessageModelLeaf 建構函式接收此類別實例,作為葉子節點的業務資料。Message 字串內容與 PublishTime 時間戳記。
MessageModelComponent (抽象基類)
│
├── MessageModelComposite (樹枝節點) - 管理子節點集合
│
└── MessageModelLeaf (葉子節點) - 持有 MessageModel 資料
下一篇將實作抽象基類 MessageModelComponent,定義統一介面 Add()/Remove()/GetData()。