прилетать из разных вьюмоделей в разных модулях. Проблема в том, что на каждом будет с десяток действий - датафлоу, запрос данных, отправка, очистка и. т. д. Может есть какой-то способ не прокидывать 10 лямбд в параметры?
Используйте паттерн проектирования "Наблюдатель" (Observe). В этом случае вы можете создать общий класс (например, DataManager), который будет служить посредником между вашими вьюмоделями и экранами.
Чтобы не прокидывать 10 лямбд в параметры можно использовать пример отсюда https://proandroiddev.com/streamlining-user-actions-with-the-command-pattern-a-practical-guide-72e2064b4ce7
странные какие-то mvi event'ы
Шаблон Visitor. В принципе, sealed классы делают то же самое, только иначе
кстати да, похоже, это больше похоже на visitor, который автор назвал command pattern. Надо сильно попотеть, чтобы оправдать его использование в данной ситуации
Команд там тоже есть. Просто смесь получилась. По командам, мне приглянулось как тут сделано. https://github.com/Gaket/GreenTea/blob/4642fd845924423ccb2e11d2a13efaed389958a3/sample-movies/src/main/java/ca/gaket/themoviedb/screens/movies/mvu/MoviesFeature.kt#L112 До этого использовал отдельные сущности команда - хэндлер, но так было больше бойлерплейта
Обсуждают сегодня