Dependency Inversion Principle

DIP

Kind: principle

Layer: Structural Core

Aliases: DIP, Dependency Inversion Principle

Record: architecture:dependency-inversion

Severity: mandatory

Scope: module, component, layer

Canonical: Ontology

A design rule that high-level policy and low-level detail both depend on an abstraction owned by the policy.

Listed in Architecture principles, after Interface Segregation Principle (ISP) and before Open/Closed Principle (OCP).

Requires

Reinforces

Enables

Conflicts with

In tension with

Tensions

Violated by

Refactored by

Severity

Category

Enforced by

Reinforced by

Linked from

in this codebase