За информацията в тази статия или раздел не са посочени източници. Въпросната информация може да е непълна, неточна или изцяло невярна. Имайте предвид, че това може да стане причина за изтриването на цялата статия или раздел. |
Команда (на английски: Command) е поведенчески шаблон за дизайн, който се използва в обектно-ориентираното програмиране.
Този дизайнерски шаблон има следните приложения:
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
|