Бизнес-логика может находиться в классах типа use case, а их уже можно передавать в VM. Писать всю бизнес-логику в VM не следует. Обратите внимание: может и не следует - это рекомендации, а не категорическое требование делать только так, а не иначе :)
Тогда получается из use case обращаться к репозиторию?
Можно и так. Идея в том, чтобы разгрузить ВМ и создать переиспользуемую логику. Те же use case вполне можно использовать в другой ВМ в комбинации с другими use case.
А как еще тогда можно по другому? А я думал, что бизнес логику нужно выносить в отдельный слой для тестирования.
Юз-кейсы как раз и можно тестировать. По крайней мере, они должны быть так спроектированы, чтобы допускать тестирование.
Кстати, требование не иметь методов Андроида меня всегда удивляло. Вроде же делаем всё для платформы Андроид, но при этом запрещаем с ним работу 😀 Имхо тут можно комбинировать. Можно, например, в репо передать юз-кейсы, а этот репо - в ВМ. Это если делать репо, который умеет работать с определенным набором юз-кейсов.
Contex андройда правильно использовать в юзкейсах?
Ну это требование (отсутствие методов андроид) из-за тестировпния
Главное что ты понял меня)
Не факт. Зачем мне напрягаться и расшифровывать что-то? 😉
Тогда просто забей) поздно уже я отдыхать надо...
Обсуждают сегодня