你給的信息還是有點模糊,下面是我的理解下寫出的代碼,希望能對你有所幫助!
//運用LSP 原則+工廠方法 實現松耦合//類型public enum MessageType
{
FromUin = 1,
ToUin = 2}//基類public abstract class Message{ //消息內容
string messge { get; set; } public abstract void ShowInfo();
}public class FromUinMessage : Message{ //新增屬性
public string Name { get; set; } public override void ShowInfo()
{ //......
}
}public class ToUinMessage : Message{ //新增屬性
public string Color { get; set; } public override void ShowInfo()
{ //......
}
}public class UninService{ private Message _message; public UninService(MessageType messageType)
{ this._message = UninFactory.GetMessageType(messageType);
} public void ShowMessage()
{
_message.ShowInfo();
}
}//工廠方法public class UninFactory{ public static Message GetMessageType(MessageType messageType)
{ switch (messageType)
{ case MessageType.FromUin: return new FromUinMessage(); case MessageType.ToUin: return new ToUinMessage(); default: return null;//異常處理
}
}
}