169 похожих чатов

Вопрос по архитектуре. Бизнес логика не должна содеожаться в viewModel?

13 ответов

9 просмотров

Бизнес-логика может находиться в классах типа use case, а их уже можно передавать в VM. Писать всю бизнес-логику в VM не следует. Обратите внимание: может и не следует - это рекомендации, а не категорическое требование делать только так, а не иначе :)

Алексей-Соловьёв Автор вопроса
Leonid B.
Бизнес-логика может находиться в классах типа use ...

Тогда получается из use case обращаться к репозиторию?

Алексей Соловьёв
Тогда получается из use case обращаться к репозито...

Можно и так. Идея в том, чтобы разгрузить ВМ и создать переиспользуемую логику. Те же use case вполне можно использовать в другой ВМ в комбинации с другими use case.

Алексей-Соловьёв Автор вопроса
Leonid B.
Можно и так. Идея в том, чтобы разгрузить ВМ и соз...

А как еще тогда можно по другому? А я думал, что бизнес логику нужно выносить в отдельный слой для тестирования.

Алексей Соловьёв
А как еще тогда можно по другому? А я думал, что б...

Юз-кейсы как раз и можно тестировать. По крайней мере, они должны быть так спроектированы, чтобы допускать тестирование.

Кстати, требование не иметь методов Андроида меня всегда удивляло. Вроде же делаем всё для платформы Андроид, но при этом запрещаем с ним работу 😀 Имхо тут можно комбинировать. Можно, например, в репо передать юз-кейсы, а этот репо - в ВМ. Это если делать репо, который умеет работать с определенным набором юз-кейсов.

Leonid B.
Кстати, требование не иметь методов Андроида меня ...

Contex андройда правильно использовать в юзкейсах?

Алексей-Соловьёв Автор вопроса
Leonid B.
Кстати, требование не иметь методов Андроида меня ...

Ну это требование (отсутствие методов андроид) из-за тестировпния

Главное что ты понял меня)

Иван Чепёлкин
Главное что ты понял меня)

Не факт. Зачем мне напрягаться и расшифровывать что-то? 😉

Leonid B.
Не факт. Зачем мне напрягаться и расшифровывать чт...

Тогда просто забей) поздно уже я отдыхать надо...

Похожие вопросы

Обсуждают сегодня

коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
средствами IBX как-то можно выполнить запрос insert ... returning?
Igor
31
#delphi кто-нибудь встречал официальное описание директивы {$ALIGN ON} (подчеркиваю - официальное, а не левый источник)? какой именно режим выравнивания включится? будут ли в...
Viktor Akselrod
14
что это и почему оно? executor.start_polling(bot, skip_updates=True, on_startup=on_startup, File "/usr/local/lib/python3.10/dist-packages/aiogram/utils/executor.py", line 4...
𐌍𐌄 ᕓ𐌄𐌓𐌌Ꝋ𐌓𐌄
2
reply = (struct pam_response *)malloc(sizeof(struct pam_response)); reply[0].resp = strdup(password); Это так можно ображаться к структуре за указателем, помимо (*reply)...
Юлиан🦉 Колессиков ⛵️
13
какой из яву имеет в качестве инлайн асма fasm синтаксис (по сути тот же фасм)?
Aiwan \ (•◡•) / _bot
10
то есть человек, который рассказывал что Native API лучше чем WinAPI потому что меньше тактов тратиться на проверки, теперь рассказывает что все эти лишние оптимизирующие инст...
Aleksandr
12
объясните, я прада не понимаю. зачем в перле нужен аниивент? кому он пригодился в действительно нагруженных проектах?
nerv
30
Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
А какие у этого try практические плюсы перед eval?
Oleg Volkov
41
Карта сайта