Какие есть способы/лучшие практики передачи данных между ViewModels?
Простой юзкейс:
Перехожу со страницы списка новостей на страницу с полной новостью, нужно передать саму новость и 3 следующие новости, немного погуглив нашел реализацию Messenger. На сколько это лучшая реализация для данного юзкейса? и на сколько она хороша вообще в передаче данных между ViewModels.
Юзкейс первый усложненный: помимо страницы списка новостей я могу и с другой страницы попасть на новость, здесь у меня нет самой новости а только id. Бержу опять Messenger подписываюсь все в том же инстансе но уже на другое событие , теперь которое слушает переход с другой страницы с и сдругими параметрами. Уже по моему не так красиво? Или всё-таки ок? И далее - смущает немного момент загрузки, а именно передача параметра в контейнер при регистрации для немедленого инстанса. То есть при бутстрапинге приложения сразу инициализируется класс показа полной новости, для того чтобы на протяжении всего приложения слушать переход Messenger'а. Направьте, пожалуйста, на верный путь.
Усложненный юзкейс не совсем понятен.
Пару мыслей всух - может наведут вас на ответ.
1.Можно передавать данные через модель. Реализовать синглтон. Зависит от ваших запросов - синглтон может не подойти по другим требованиям.
2.Использовать IoC Unity Container (не знаком с другими контейнерами, они наверное тоже так умеют) - он может "запоминать" инстанции, которые т.о. будут доступны из любого куска кода использующего контейнер. Потребует редизайна всей архитектуры приложения, но принесет с собой много полезностей и по другим задачам.