Layers

  1. Domain Layer

    • Core components of the system

    • Provide the implementation for the business rules and processes.

  2. 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.

  3. 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