定義:運用共享技術有效地支援大量細粒度的物件。
有一個 MessageModel 實體類別,某些物件對它的操作有 Insert() 和 Get() 方法,現在要運用共享技術支援這些物件。
作為外部狀態在享元物件間傳遞:
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.Flyweight
{
///
/// 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; }
}
}
}
返回「設計模式(C#)系列文章索引」
本系列共 4 篇:第 1 篇介紹模式概念與基礎實體;第 2 篇定義抽象享元與具體享元;第 3 篇實作具體享元與享元工廠;第 4 篇提供完整測試與執行驗證。