DDD in an "onionshell"
Anastasiia Lysenko
13Chats

Scalable Distributed System
Onion Architecture

DDD with Onion =

Domain Layer
"This layer is the heart of business software"
(Eric Evans)
DDD is definitely NOT about technology. DDD is all about the domain.


Application layer
-
Is responsible for the navigation between the UI screens in the bounded context as well as the interaction with application layers of other bounded contexts.
-
Can perform the basic (non business related) validation on the user input data before transmitting it to the other (lower) layers of the application.
-
Should not contain any business or domain related logic, but definitely should perform tasks from the UI requests via services.
Application layer


Infrastructure Layer


-
consists Shared libraries for Domain, Application, and UI layer
-
communicates with external systems, such as DB or search engine adapters
Presentation Layer


-
presenting information to the user and interpreting user commands
-
translate incoming requests to method calls for the application layer
-
translate the return values to responses.
Full Picture
Shared Kernel
Anti Corruption Layer (ACL)
Partnership


The End
DDD in an "onionshell"
By Anastasia Lysenko
DDD in an "onionshell"
- 89