The Command pattern encapsulates a request as an object, allowing requests to be parameterized with different objects and queued or logged. A command object represents the method call and stores the method name, owner object, and parameters. A client creates a concrete command object and passes it to an invoker, which stores the command and calls its execute method, invoking the action on the receiver object. This decouples the requestor from the performer and allows invokers to be parameterized with different commands at runtime.