Вступить в клуб →
средняявопросСлой данных, DI и релиз

Границы слоёв в сценарии использования

В проекте с разделением на слои есть сценарий использования:

class GetOrdersUseCase(private val api: OrdersApi) {
    suspend operator fun invoke(context: Context): Response<List<OrderDto>> {
        val lang = context.resources.configuration.locales[0].language
        return api.getOrders(lang)
    }
}

Какое утверждение верно описывает нарушение границ слоёв в этом коде?

  • Нарушение в том, что клиент сети передан в конструктор: сценарий должен создавать его сам, чтобы вызывающий код не знал о зависимостях домена
  • Домен тянет к себе две чужие детали сразу: платформенный Context в параметрах и транспортный ответ сети в качестве результата
  • Нарушение в том, что функция помечена приостанавливающей: домен не должен знать об асинхронности, ожидание — забота слоя данных
  • Нарушение в том, что сценарий оформлен классом с вызовом через оператор, а не функцией верхнего уровня в пакете домена

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела