Границы слоёв в сценарии использования
В проекте с разделением на слои есть сценарий использования:
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 в параметрах и транспортный ответ сети в качестве результата
- Нарушение в том, что функция помечена приостанавливающей: домен не должен знать об асинхронности, ожидание — забота слоя данных
- Нарушение в том, что сценарий оформлен классом с вызовом через оператор, а не функцией верхнего уровня в пакете домена
