C# 程式設計經典300例 實例092 建造同樣的果園 原型模式
原型模式是所有設計模式中最容易懂的設計模式。
實例描述
用原型模式可對北京果園進行複製的方法來創建北京果園。
輸出「北京果園種植了北京皮果蘋果和北京橘子」、「上海果園種植了北京皮果蘋果和北京橘子」字串
實現過程
//果園介面
public interface IOrchard
{
IOrchard Clone();
}
//果園類別繼承果園介面
public class Orchard : IOrchard
{
public string Name { get; set; }
public string Apple { get; set; }
public string Orange { get; set; }
public IOrchard Clone()
{
return new Orchard()
{
Name = this.Name,
Apple = this.Apple,
Orange = this.Orange
};
}
public void Plant()
{
Console.WriteLine(“{0}果園種植了{1}和{2}!”,this.Name, this.Apple, this.Orange);
}
}
main函數代碼如下:
Orchard bjOrchard = new Orchard();
bjOrchard.Name =”北京”;
bjOrchard.Apple = “北京蘋果”;
bjOrchard.Orange = “北京橘子”;
bjOrchard.Plant();
Orchard shOrchard = bjOrchard.Clone() as Orchard;
shOrchard.Name = “上海”;
shOrchard.Plant();
代碼解析
原型模式的主要用途是通過複製已有的類實例來創建一個新的類實例。好處是可實現對創建過程隱藏。若是創建過程比較複雜的情況下,複製比創建更好。
留言
張貼留言