Clean Architecture
Separating business rules from external details and directing source-code dependencies towards the core.
What is Clean Architecture?
Clean Architecture arranges software so that source-code dependencies point towards an inner core of business rules. The database, user interface and other technical details sit outside. The core should not need to know their concrete classes or data formats. Runtime control flow may point differently; interfaces make this separation possible.
In a fictional example, an approval rule checks business inputs without calling a particular database driver. An outer adapter translates stored data into the required form and connects the parts. This supports focused checks of the core but does not replace checking the adapters. No fixed number of layers is required. Folder names alone do not demonstrate the separation, and the pattern does not automatically guarantee good quality or high performance.
Sources
Related terms
- Software architectureFundamental decisions about a software system’s structure, interactions and quality goals.
- Design patternA reusable solution structure for a recurring software design problem, with its own trade-offs.
- Dependency injectionA component receives dependencies from outside instead of creating concrete implementations itself.
- Cache stampedeA cache stampede occurs when concurrent cache misses trigger the same expensive calculation or data query repeatedly.
- BackpressureBackpressure adjusts incoming data to the receiver’s processing capacity through signals to slow down or pause.
- Race conditionA result depends on the timing of overlapping accesses and can therefore be wrong.
Your project with ASES
Describe your project to us. We will get back to you with an initial assessment.