Design Pattern implementations with C++ (Tutorial)
Created to understand design patterns deeply. These code written by following a series of tutorial. I am putting these to access whenever I need to recap design patterns.
- A class should only have one reason to change
- Seperation of concerns - different classes handling different, independent tasks/problems
- Classes should be open for extension but closed for modification
- You should be able to substitute a base type for a subtype
- Do not put too much into an interface; split into seperate interfaces
- YAGNI - You aint going to need it
- High-level modules should not depend upon low-level ones; use abstractions