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

Command

Command - паттерн, инкапсулирующий запрос как объект, позволяя более гибко работать с запросами (параметризовать, архивировать, наделять поведением)

        namespace Command_DesignPattern
        {
            using System;

            abstract class Command
            {
                abstract public void Execute();
                protected Receiver r;
                public Receiver R
                {
                    set
                    {
                        r = value;
                    }
                }
            }

            class ConcreteCommand : Command
            {
                override public void Execute()
                {
                    Console.WriteLine("Command executed");
                    r.InformAboutCommand();
                }
            }

            class Receiver
            {
                public void InformAboutCommand()
                {
                    Console.WriteLine("Receiver informed about command");
                }

            }

            class Invoker
            {
                private Command command;
                public void StoreCommand(Command c)
                {
                    command = c;
                }
                public void ExecuteCommand()
                {
                    command.Execute();
                }
            }

            public class Client
            {
                public static int Main(string[] args)
                {
                    Command c = new ConcreteCommand();
                    Receiver r = new Receiver();
                    c.R = r;
                    Invoker i = new Invoker();
                    i.StoreCommand(c);

                    i.ExecuteCommand();

                    return 0;
                }
            }
        }        
        

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

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