Dependency Inversion principle
The last of the SOLID principles is based on two statements, that Wikipedia states in this form:
- High-level modules should not depend on low-level modules. Both should depend on abstractions.
- Abstractions should not depend upon details. Details should depend upon abstractions.
As for the first statement, we should clarify what we understand by high-level and low-level modules. The terminology is related to the importance of the actions performed by the module.
Let's put it simply: if a module holds the business logic of a Customers
class, and another includes the format that a list of the Customers
class uses in a report, the first one would be high-class and the second would be low-class.
The second statement speaks ...
Get Mastering C# and .NET Framework 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.