Кейсы (use cases) представляют собой слой бизнес-логики, отделенный от UI и данных. Они описывают конкретные действия пользователя или системы, которые выполняются с данными, полученными из репозиториев.
Преимущества использования кейсов:
- Чистота и модульность: Отделение бизнес-правил от UI делает код более понятным и удобным для поддержки.
- Тестируемость: Бизнес-логику, инкапсулированную в кейсах, легко тестировать в изоляции.
- Переиспользование: Кейсы могут быть использованы в различных частях приложения или даже в других приложениях.
- Читаемость: Названия кейсов часто отражают намерение пользователя или системы, что улучшает читаемость кода.
Обычно кейсы:
- Зависят от одного или нескольких репозиториев для получения данных.
- Выполняют операции над этими данными (например, фильтрация, сортировка, преобразование).
- Не знают о UI и не взаимодействуют с ним напрямую.
- Используются презентерами или провайдерами состояния (например, BLoC, Riverpod).
Пример структуры кейса:
dart