Breaking Dependencies: The SOLID Principles
summary
Argues that SOLID are universal guidelines not just OOP rules and proves it with concrete C++ examples: concrete claim that SOLID applies to templates and concepts, demonstrations using free functions versus virtuals for the Open/Closed tradeoff, and the Liskov example where 70% of students pick the intuitive but broken design. Uses std::copy, concepts, variant/type‑erasure and a MVC refactor that fixes coupling by moving interfaces left, showing what breaks, what compiles, and what actually eases change.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 0:45Software
- 2:14SOLID Principles
- 4:47Single Responsibility Principle
- 13:54Single Responsibility Examples
- 17:34Open Closed Principle
- 23:01Freer Functions
- 24:59Virtual Functions
- 28:03Embrace No Paradigm Programming
- 29:00Dynamic Polymorphism
- 41:15Takeaway
- 42:01Interface segregation principle
- 48:45Dependency inversion principle
- 55:55True dependency inversion
- 58:20Summary
related talks
27mSOLID in architecture
51mSOLID Revisited : The State of the Matter
54mStarting at the Beginning (of Design)
01h 00mBack to Basics: Object-Oriented Programming
56mLaw of Demeter: A Practical Guide to Loose Coupling
01h 01mBack to Basics: Designing Classes (part 1 of 2)
01h 38mBreaking Dependencies: The Path to High-Quality Software
01h 00mDesign Idioms from an Alternate Universe
