Dependency Inversion Principle (EN)
ConceptA principle stating that dependencies should be to abstract interfaces rather than concrete implementations
Architecture
flowchart TD HighLevelModule[High-Level-Module] --> Abstraction[Abstraction/Interface] LowLevelModule[Low-Level-Module] --> Abstraction ConcreteImpl[Concrete Implementation] --> LowLevelModule Client[Client] --> HighLevelModule
In Context
- Typically used together with Dependency Injection
- Related to: SOLID principles, Loose Coupling, Inversion of Control
- Example use: Separation of business logic from data access layers