This document provides an overview of the Command design pattern. It begins by defining the Command pattern as encapsulating a request as an object, and passing it to another object (the invoker) to execute the request. It then provides examples of the key elements of the pattern - Command, ConcreteCommand, Client and Invoker. Finally, it provides step-by-step instructions for implementing the Command pattern in code using a simple example of opening and saving documents.