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();


 


代碼解析


 


原型模式的主要用途是通過複製已有的類實例來創建一個新的類實例。好處是可實現對創建過程隱藏。若是創建過程比較複雜的情況下,複製比創建更好。


 


 


留言

這個網誌中的熱門文章

異世界NTR web版第三章 觀後感 喧賓奪主 ,反派實力過強

泛而不精的我被逐出了勇者隊伍 web第三章 觀後感 菲莉真能打; 露娜超爽der

持有縮小技能的D級冒險者,與聖女結婚並加入勇者團隊 漫畫 01-04 觀後感 大我與小我