Команда () е поведенчески шаблон за дизайн, който се използва в обектно-ориентираното програмиране.
Приложение Този дизайнерски шаблон има следните приложения: Многостепенни отмени (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
Категория:Шаблони за софтуерен дизайн