Команда () е поведенчески шаблон за дизайн, който се използва в обектно-ориентираното програмиране.

Приложение Този дизайнерски шаблон има следните приложения: Многостепенни отмени (undo) – В графични приложения в които има повече от една степен на отмяна на резултатите от предишното действие

Примери C# namespace CommandDesignPattern { //производните обекти на този клас правят заявки според предадените им командни обекти class Invoker { private Command command; public void SetCommand ( Command command)

this.command = command;

//този метод извиква командата public void ExecuteCommand ()

command.Execute ();

} //eof class

//производните обекти на този клас получават class Receiver { public void Action ()

Console.WriteLine ( "Called ...");

} //eof Receiver

abstract class Command { protected Receiver receiver; public Command ( Receiver receiver)

this.receiver = receiver;

public abstract void Execute (); } //eof class

class ConcreteCommand : Command { public ConcreteCommand ( Receiver receiver) : base ( receiver)

public override void Execute ()

receiver.Action ();

class Program { //главният метод на приложението static void Main ()

Receiver receiver = new Receiver (); //създаване на обекта получател // Remember that you don´t really need an receiver if you don´t want it. Command command = new ConcreteCommand ( receiver); Invoker invoker = new Invoker (); //създаване на заявяващия обект invoker.SetCommand ( command); //конфигуриране на командата според типа и invoker.ExecuteCommand (); //изпълняване на командата Console.ReadLine (); //използван само за спиране на конзолата } //eof Main

} //eof class }//eof namespace

Java

Категория:Шаблони за софтуерен дизайн