Где находится бизнес-логика приложения в Clean Architecture

«Где находится бизнес-логика приложения в Clean Architecture» — вопрос из категории Архитектура, который задают на 26% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В 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.