A clean architecture is a software structure that allows developer to keep his code analysable, testable, verifiable and maintainable.
Robert C. Martin propose that architecture as a layered organization with well-defined responsibilities.
We can compare it to an onion.
More information at :
- Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin book)
- https://whatis.techtarget.com/definition/clean-architecture and others
My application is composed of 4 parts :
- Domain : Contains all entities, errors, ...
- Business : Contains use cases
- Infrastructure : Contains repositories (that allows to use dependencies)
- Application : Contains presenters, view model