Onion Architecture

E679172

Onion Architecture is a software architectural pattern that emphasizes a domain-centric design with concentric layers that enforce dependency inversion and separation of concerns.

All labels observed (1)

Label Occurrences
Onion Architecture canonical 1

How this entity was disambiguated

Statements (50)

Predicate Object
instanceOf architectural style ⓘ
software architectural pattern ⓘ
contrastsWith layered architecture with outward dependencies ⓘ
definesRule UI depends on application and domain layers ⓘ
data access is implemented in outer layers ⓘ
dependencies point inwards toward the domain ⓘ
infrastructure depends on domain, not vice versa ⓘ
inner layers must not depend on outer layers ⓘ
emphasizes business logic ⓘ
domain model ⓘ
independence from databases ⓘ
independence from frameworks ⓘ
independence from infrastructure ⓘ
independence from user interface ⓘ
encourages use of dependency injection containers ⓘ
use of repositories for persistence abstraction ⓘ
writing unit tests against domain interfaces ⓘ
focusesOn core domain as the center of the system ⓘ
goal enable easier replacement of infrastructure ⓘ
improve testability of domain logic ⓘ
isolate business logic from technical concerns ⓘ
reduce coupling to frameworks ⓘ
support long-term maintainability ⓘ
hasDesignPrinciple dependency inversion ⓘ
domain-centric design ⓘ
encapsulation of business rules ⓘ
loose coupling ⓘ
maintainability ⓘ
separation of concerns ⓘ
testability ⓘ
hasLayer application layer ⓘ
core layer ⓘ
domain layer ⓘ
infrastructure layer ⓘ
outer layers ⓘ
presentation layer ⓘ
organizesCodeAs concentric layers ⓘ
relatedTo Clean Architecture ⓘ
Hexagonal Architecture ⓘ
separates application services from user interface ⓘ
business rules from persistence concerns ⓘ
domain logic from infrastructure code ⓘ
similarConcept ports and adapters architecture ⓘ
supports domain-driven design ⓘ
typicalUseCase complex business systems ⓘ
domain-driven design projects ⓘ
enterprise applications ⓘ
usesPattern dependency inversion principle ⓘ
interfaces for abstractions ⓘ
inversion of control ⓘ

How these facts were elicited

Referenced by (1)

Full triples — surface form annotated when it differs from this entity's canonical label.

Clean Architecture → influencedBy → Onion Architecture ⓘ