A Practical Guide to Loose Coupling
summary
Concrete refactors: replace global manager/singletons and long chains like a->b->c with injected objects so code compiles if wrong and tests can fake collaborators. Demonstrates C++20 solutions—concepts and templates for zero-cost generics, type erasure for runtime polymorphism, and strong-typed parameters—to enforce Law of Demeter and dependency injection. Shows wiring in a composition root, warns against service locators and leaky abstractions, and argues these changes make code measurably more testable, flexible and easier to change.
AI-written summary · about
chapters (12)
- 0:00Start
- 5:01Clean Code
- 7:40What Is a Good Design
- 8:28Scalable Design
- 28:09Dependency Injection
- 28:57Dependency Injection Is a Way To Reduce Coupling
- 37:10Composition of Inheritance
- 42:01Inheritance
- 45:50Functional Programming Design Patterns
- 46:51Introspection Design
- 49:07What Is the Use Case for Inheritance
- 54:08Bdd
related talks
01h 28mLaw of Demeter: A Practical Guide to Loose Coupling
01h 02mRefactoring C++ Code for Unit testing with Dependency Injection
01h 29mDependency Injection in C++ - A Practical Guide
01h 02mAdvanced Levelization Techniques (part 2 of 3)
01h 01mDependency Injection in C++ - A Practical Guide
01h 16mPolymorphism, Cohesion, and Coupling in C++
01h 16mRetiring the Singleton Pattern, Concrete Suggestions for What to Use Instead
05mConcept Driven Design with Dependency Injection
