SOFTWARE ENGINEERING JOURNEY

Command Pattern: Decoupling The Request for An Action From The Object That Performs The Action.

Top Design Patterns Software Engineer Should Know

Tech Is Beautiful
8 min readApr 2, 2023

--

Photo by Maël BALLAND from unsplash.com

Overview

The Command pattern is a behavioral design pattern that allows decoupling the request for an action from the object that performs the action. It is commonly used in software development to separate concerns and make code more modular, flexible, and extensible. In this essay, we will explore the Command pattern in detail, discussing its purpose, structure, and benefits.

The purpose of the Command pattern is to encapsulate a request as an object, thereby allowing it to be passed as a parameter to other objects. This approach enables the separation of concerns between the requester and the executor of the request, enabling the requester to remain unaware of the details of how the request is executed. The Command pattern is particularly useful when designing undo/redo functionality, as it allows commands to be stored and executed in a specific order, making it easier to undo or redo specific actions.

The Command pattern consists of several components. The first component is the Command interface, which defines a common interface for all…

--

--

Tech Is Beautiful

Software Engineer. Support me: https://medium.com/@techisbeautiful/membership (affiliate link). Opinions stated in Medium are my own, not those of my employer