dotSITE
Учебник по ASP.NET Форумы Work in Murano Software.
новости материалы решения форумы группы настройки/о проекте

Prototype

Позволяет создавать новые объекты за счет клонирования специального объекта - прототипа

        namespace Prototype_DesignPattern
        {
            using System;

            abstract class AbstractPrototype 
            {
                abstract public AbstractPrototype CloneYourself();
            }

            class MyPrototype : AbstractPrototype 
            {
                override public AbstractPrototype CloneYourself()
                {
                    return ((AbstractPrototype)MemberwiseClone());
                }
            }

            class Demo 
            {
                private AbstractPrototype internalPrototype;

                public void SetPrototype(AbstractPrototype thePrototype)
                {
                    internalPrototype = thePrototype;           
                }

                public void SomeImportantOperation()
                {
                    AbstractPrototype x;
                    x = internalPrototype.CloneYourself();
                }
            }

            public class Client
            {
                public static int Main(string[] args)
                {                       
                    Demo demo = new Demo();
                    MyPrototype clientPrototype = new MyPrototype();
                    demo.SetPrototype(clientPrototype);
                    demo.SomeImportantOperation();

                    return 0;
                }
            }
        }
        

Back
Контакт Реклама на сайте Спонсорам Веб мастерам

Лицензионное соглашение - © 2000-2012 dotSITE
Хостинг .NET предоставлен PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development