예제 #1
0
        static void Main(string[] args)
        {
            //原型模式
            ConcreatePrototype1 proto  = new ConcreatePrototype1("你好");
            ConcreatePrototype1 proto1 = proto.Clone() as ConcreatePrototype1;

            Console.WriteLine("原有对象{0},复制的对象{1}", proto.Id, proto1.Id);

            Resume re = new Resume("李伟波");

            re.setPersonalInfo("24", "男");
            re.setWorkExperience("2016-05-01", "腾讯科技");

            Resume re1 = re.Clone() as Resume;

            re1.setWorkExperience("2016-05-01", "阿里巴巴");
            re.Display();
            re1.Display();


            Resumeone re2 = new Resumeone("刘明");

            re2.setPersonalInfo("24", "男");
            re2.setWorkExperience("2016-05-01", "腾讯科技");

            Resumeone re3 = re2.Clone() as Resumeone;

            re3.setWorkExperience("2016-05-01", "阿里巴巴");
            re2.Display();
            re3.Display();
            Console.Read();
        }
예제 #2
0
        private static void Test1()
        {
            ConcreatePrototype1 p1 = new ConcreatePrototype1("1");
            ConcreatePrototype1 p2 = (ConcreatePrototype1)p1.Clone();

            Console.WriteLine($"Cloned{p2.Id}");
        }
        public void Check_Prototype()
        {
            ConcreatePrototype1 p1 = new ConcreatePrototype1("I");
            ConcreatePrototype1 c1 = (ConcreatePrototype1)p1.Clone();

            Console.WriteLine("Cloned: {0}", c1.Id);

            ConcreatePrototype2 p2 = new ConcreatePrototype2("II");
            ConcreatePrototype2 c2 = (ConcreatePrototype2)p2.Clone();

            Console.WriteLine("Cloned: {0}", c2.Id);
        }