Skip to content

Conceptual overview

High-level architecture

technologies

Application-level architecture

technologies

Infrastructure

The infrastructure layer is an integral part of software development and provides a set of tools for efficient interaction with external resources such as databases, file storages, search servers, and other systems. The infrastructure layer includes various components such as adapters, drivers, bridges, and other abstractions that provide convenient and standardized access to external resources. Using the infrastructure layer allows developers to focus on the business logic of the application without delving into the details of interacting with external resources. This increases the level of abstraction and simplifies the development, testing, and maintenance of applications.

Application layer

The application layer plays a key role in orchestrating the execution of requests, ensuring proper interaction between different components of the system. It performs several important tasks, including initial request validation and user input transformation.

Service layer

The service layer is an important part of the application architecture and is responsible for implementing operations on entities. It provides a convenient interface for interacting with the business logic, ensuring efficient execution of various operations.

Domain layer

The domain layer is the foundation of the application, defining its functionality and behavior. The following elements are defined in the domain layer:

  1. Data models: objects that represent the main entities of the domain and contain their state and behavior.
  2. Business rules: a set of rules and constraints that define the valid operations and conditions for working with domain data.