The Clean Architecture

This architecture has 3 layers, namely: Presentation, Domain and Infrastructure.
The clean architecture is a design pattern for organizing code in a way that separates the different concerns of an application. It aims to improve maintainability, stability, and adaptability to code changes by decoupling the different parts of the application into distinct layers.
Layer
Description
Responsible for managing the UI and all user interactions in the application.
Domain
Defines the business objects, specifications and use cases of the application. This also serves as a communication bridge between the Presentation and Infrastructure Layers.
Deals with the APIs, databases and other infrastructure-related dependency integrations in the system.
Codenic Clean Architecture