The Dependency Inversion Principle

The last SOLID principle concerns the dependence among the components of an application and states that:

1. High-level modules should not depend on low-level modules. Both should depend on abstractions.

2. Abstractions should not depend upon details. Details should depend on abstractions.

This is the Dependency Inversion Principle, and it consists of two recommendations. The first one concerns the classic layered architecture of an application, where in general the components of the high level are strictly dependent on the components at the low level. A possible modification to a low-level component may require a change to one or more high-level components. The first recommendation suggests to reverse this dependency, ...

Get Mastering JavaScript Object-Oriented Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.