August 2018
Intermediate to advanced
332 pages
9h 12m
English
This is a really powerful idea that will come up again later when we explore some design patterns in Chapter 9, Common Design Patterns, and Chapter 10, Clean Architecture.
The dependency inversion principle (DIP) proposes an interesting design principle by which we protect our code by making it independent of things that are fragile, volatile, or out of our control. The idea of inverting dependencies is that our code should not adapt to details or concrete implementations, but rather the other way around: we want to force whatever implementation or detail to adapt to our code via a sort of API.
Abstractions have to be organized in such a way that they do not depend on details, but rather the other way around—the details ...