Dependency Investion Principle Architectural implications

By inverting dependencies you create [[bounds]] between software modules.

  • [[Plugin]]s can be deployed and developed independently
  • Divide the system by [[boundaries]] and invert the dependencies that cross those boundaries.
  • Plugins define the boundaries of a system.

Data-Centric Model

![[Domain-Centric Model]]

Enlarged Domain-Centric Model