Do You Use a Dependency Injection Centric Architecture?
18/02/2021 6:51 AM by
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
Do you feel this rule needs an update?