Dependency inversion
Before we dive into this section, let me give you a brief overview of the first four of the five SOLID principles, which were created by Robert Martin:
- S – Single Responsibility Principle (SRP):
- Concept: A class should have only one reason to exist.
- Application: Each class in your application should have only one specific job or responsibility. For instance, if you have a
UserHandler
class, its responsibility should be strictly limited to user-related operations, such as creating, updating, or deleting users, and not also include network functionality, for example.
- O – Open/Closed Principle (OCP):
- Concept: Software entities (classes, modules, functions, etc.) should be open for extension but closed for modification.
- Application: Design your classes in a way that allows you to add new functionality through inheritance or extension rather than forcing fellow developers to modify existing code. For instance, using protocol-oriented programming...