码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式-7-原型模式

时间:2016-06-15 23:55:25      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

说明

通过对自身的浅层的克隆和深层的克隆,能在短期大量生成不同内存区域的相同值的对象

 public class PrototypeA 
    {
        public int i { get; set; }
        public List<string> lstr  { get; set; }
        public PrototypeA()
        {
            lstr = new List<string>();
        }
        public PrototypeA Clone()
        {
            PrototypeA entity = (PrototypeA)this.MemberwiseClone();
            entity.lstr = ((string[])this.lstr.ToArray().Clone()).ToList();
            return entity;
        }
        public void Print()
        {
           foreach(var str in lstr)
            {
                Console.WriteLine(str);
            }
            Console.WriteLine(i);
        }
    }
 Console.WriteLine("---------------");
            PrototypeA prototypeA = new PrototypeA();
            prototypeA.i = 5;
            prototypeA.lstr.Add("1");
            prototypeA.Print();
            Console.WriteLine("---------------");
            var proB = prototypeA.Clone();
            proB.Print();
            Console.WriteLine("---------------");
            proB.i = 7;
            proB.lstr.Add("2");
            proB.Print();
            Console.WriteLine("---------------");
            prototypeA.Print();

 

设计模式-7-原型模式

标签:

原文地址:http://www.cnblogs.com/alisande/p/5589375.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!