Layers
Domain Layer
Core components of the system
Provide the implementation for the business rules and processes.
Application Layer
Coordinates the use of the entities and domain services to implement the use cases (referring to business use cases).
This layer contains the application services, which are responsible for handling requests from the infrastructure layer, coordinating the use of the entities and domain services, and returning a response to the client.
Infrastructure Layer:
Implements the technical details, such as persistence (e.g. database), messaging, and external integration.
Acts as a bridge between the domain and application layers and the external world.
By having these layers separated, it should be easier to make a change in one layer without affecting other layer. This way, the code should also be easier to understand and maintain over time.
Last updated