A hands-on C++ workbook revisiting the five SOLID design principles.
Each principle lives in its own folder with:
- A README.md defining the principle, key terms, use cases, benefits, and when to use/not to use.
- A pair of code examples:
- A simple “violation” (pre-refactoring) showing the problem.
- An SOLID-compliant refactoring demonstrating the correct structure.
Before you dive in, you should be comfortable with:
- C++ Classes & Objects: definition, constructors, destructors
- Encapsulation & Access Control:
public
/private
/protected
- Inheritance & Polymorphism: virtual methods, overriding, up-casting
- Abstract Base Classes: pure-virtual functions, interfaces
- Composition vs. Inheritance: “has-a” vs. “is-a”
- Coupling & Cohesion: what makes a class loosely coupled and highly cohesive