Chapter 5. The Strategy and Command Design Patterns
This chapter is devoted to two of the most commonly used design patterns: the Strategy design pattern and the Command design pattern. Most commonly used indeed: the C++ Standard Library itself uses both of them dozens of times, and itâs very likely that you have used them many times yourself. Both of these can be considered fundamental tools for every developer.
In âGuideline 19: Use Strategy to Isolate How Things Are Doneâ, I will introduce you to the Strategy design pattern. I will demonstrate why this is one of the most useful and most important design patterns and why you will find it useful in many situations.
In âGuideline 20: Favor Composition over Inheritanceâ, we will take a look at inheritance and why so many people complain about it. You will see that itâs not bad per se, but like everything else, it has its benefits as well as limitations. Most importantly, however, I will explain that many of the classic design patterns do not draw their power from inheritance but rather from composition.
In âGuideline 21: Use Command to Isolate What Things Are Doneâ, I will introduce you to the Command design pattern. I will show you how to use that design pattern productively, and also give you an idea of how Command and Strategy compare.
In âGuideline 22: Prefer Value Semantics over Reference Semanticsâ, we take a trip into the realm of reference semantics. However, we will find that this realm is not particularly ...
Get C++ Software Design now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.