Чистая архитектура (Clean Architecture) используется для достижения следующих целей:
- Независимость от фреймворков: Бизнес-логика приложения не зависит от конкретных UI-фреймворков, баз данных или внешних сервисов. Это позволяет легко заменять эти компоненты без значительных изменений в ядре приложения.
- Тестируемость: Благодаря отделению бизнес-логики от деталей реализации (UI, база данных), юнитовую и интеграционную логику легче изолировать и тестировать.
- Независимость от UI: Представление данных и взаимодействие с пользователем отделены от логики использования (Use Cases), что упрощает адаптацию приложения под разные платформы (Mobile, Web, Desktop) или изменения в UI.
- Независимость от базы данных: Логика сохранения и получения данных отделена от бизнес-правил, что позволяет легко менять базу данных или ис