Introduction
The Command Pattern provides an extensible method for executing custom functionality in a pre-compiled component. Two popular methods for adding this functionality are via configuration settings and/or using a plug-in-based architecture. The basic concept is pretty simple to understand, but can sometimes be hard to explain. An interface or abstract method is defined, which is used by the system to accomplish some type of work. The basis for the extensibility lies in the fact that classes that implement the interface method can be added and executed at run-time. The client code that is executing the command doesn't know exactly what happens, but that's the beauty of it.