Команда (шаблон)
от Уикипедия, свободната енциклопедия
Команда (Command) е поведенчески шаблон за дизайн, който се използва в обектно-ориентираното програмиране.
Съдържание |
Приложение [редактиране]
Този дизайнерски шаблон има следните приложения:
- Многостепенни отмени (undo) - В графични приложения в които има повече от една степен на отмяна на резултатите от предишното действие
Примери [редактиране]
C++ [редактиране]
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