Do You Use a Dependency Injection Centric Architecture?
  v9.0 Posted at 18/02/2021 6:51 AM by Tiago Araujo

​The classes in each layer can depend on layers toward the center.​​

It emphasizes the use of interfaces for the business logic and repository layers. The repository layer corresponds to the Data Access Layer in an n-Tier architecture.​​

An n-Tier architecture has at its base the database.​

The core of the onion architecture is the Domain Model, and all dependencies are injected. This leads to more ​maintainable applications since it emphasizes the separation of concerns.

Figure: Bad Example – N-Tiered architectures do not inherently support dependency injection
Figure: Good Example – The Onion Architecture promotes layers built on interfaces, and then injecting dependencies into those layers. This keeps coupling low, and therefore maintainability high

Related rules​​

Related rules

    Do you feel this rule needs an update?

    If you want to be notified when this rule is updated, please enter your email address: