creativity is that spark of electricity before an explosion.
it allows us, in a single instance to explore all possibilities without hesitation.
Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations.
andThe classes and/or objects participating in this example are:
|
// Command pattern -- Structural example
|
|
using System; namespace DoFactory.GangOfFour.Command.Structural { // MainApp test applicatio class MainApp { static void Main() { // Create receiver, command, and invoker Receiver receiver = new Receiver(); Command command = new ConcreteCommand(receiver); Invoker invoker = new Invoker(); // Set and execute command invoker.SetCommand(command); invoker.ExecuteCommand(); // Wait for user Console.Read(); } } // "Command" abstract class Command { protected Receiver receiver; // Constructor public Command(Receiver receiver) { this.receiver = receiver; } public abstract void Execute(); } // "ConcreteCommand" class ConcreteCommand : Command { // Constructor public ConcreteCommand(Receiver receiver) : base(receiver) { } public override void Execute() { receiver.Action(); } } // "Receiver" class Receiver { public void Action() { Console.WriteLine("Called Receiver.Action()"); } } // "Invoker" class Invoker { private Command command; public void SetCommand(Command command) { this.command = command; } public void ExecuteCommand() { command.Execute(); } } } Output expected:
Called Receiver.Action()
|
| [+] | Programming - Design patterns in Software |
| [+] | C++ creator, Bjarne Stroustrup bares all in Computerworld interview |
| [+] | The Apache Jakarta Project has released JMeter 2.3 |
| [+] | Java JSP and Sever Pages |
| [+] | .NET Enterprise provides a truly robust and scalable platform to build business applications on I.. |
| [+] | The Future of Javascript - The Creator ponders |
| [+] | Java and .NET both bring something to the Enterprise arena |
| [+] | Microsoft DLR (Dynamic Language Runtime) information released |
| [+] | Microsoft joins OpenAjax Alliance |
| [+] | Running C and Python in browser. Advent of the Low Level Virtual Machine |
| [+] | Case studies - Software in business |
