抽象工廠模式 C# 實作起始篇:具體產品模型類別定義。
public class XMLMessageModel : AbstractMessageModel {
public XMLMessageModel() : base() { }
public XMLMessageModel(string userId, string msg, DateTime pt)
: base(msg, pt) { this._userId = userId; }
private string _userId;
public override string UserId { get => _userId; set => _userId = value; }
}
public abstract class AbstractMessage {
public abstract string Insert(AbstractMessageModel amm);
}
AbstractMessageModel 封裝共用屬性 Message、PublishTime,並宣告抽象 UserId 由具體模型決定儲存策略(XML 加密 vs SQL 明文)。