Book Image

Hands-On Design Patterns with C++ (Second Edition) - Second Edition

By : Fedor G. Pikus
5 (1)
Book Image

Hands-On Design Patterns with C++ (Second Edition) - Second Edition

5 (1)
By: Fedor G. Pikus

Overview of this book

C++ is a general-purpose programming language designed for efficiency, performance, and flexibility. Design patterns are commonly accepted solutions to well-recognized design problems. In essence, they are a library of reusable components, only for software architecture, and not for a concrete implementation. This book helps you focus on the design patterns that naturally adapt to your needs, and on the patterns that uniquely benefit from the features of C++. Armed with the knowledge of these patterns, you’ll spend less time searching for solutions to common problems and tackle challenges with the solutions developed from experience. You’ll also explore that design patterns are a concise and efficient way to communicate, as patterns are a familiar and recognizable solution to a specific problem and can convey a considerable amount of information with a single line of code. By the end of this book, you’ll have a deep understanding of how to use design patterns to write maintainable, robust, and reusable software.
Table of Contents (26 chapters)
1
Part 1: Getting Started with C++ Features and Concepts
5
Part 2: Common C++ Idioms
10
Part 3: C++ Design Patterns
18
Part 4: Advanced C++ Design Patterns

Questions

  1. What is the Adapter pattern?
  2. What is the decorator pattern and how does it differ from the Adapter pattern?
  3. The classic OOP implementation of the decorator pattern is usually not recommended in C++. Why not?
  4. When should the C++ class decorator use inheritance or composition?
  5. When should the C++ class adapter use inheritance or composition?
  6. C++ provides a general function adapter for currying function arguments, std::bind. What are its limitations?
  7. C++11 provides template aliases that can be used as adapters. What are their limitations?
  8. Both the adapter and policy patterns can be used to add or modify the public interface of a class. Give some reasons for preferring one over the other.