Ответ
В Clean Architecture бизнес-логика находится в Domain Layer (ядро приложения). Этот слой не зависит от фреймворков, UI или внешних источников данных.
Domain Layer включает:
- Entities – основные бизнес-объекты (например,
User,Order). - Use Cases (Interactors) – классы, инкапсулирующие конкретные сценарии (
GetUserByIdUseCase,ProcessPaymentUseCase).
// Пример UseCase в Domain Layer
class GetUserByIdUseCase(private val userRepository: UserRepository) {
suspend operator fun invoke(userId: String): User {
return userRepository.getUserById(userId)
}
}
Важно:
- Domain Layer не содержит Android-зависимостей.
- Репозитории объявляются как интерфейсы, их реализация – в Data Layer.