У меня есть сложный экран в моем проекте, который я разбиваю на несколько фрагментов.Я пытаюсь следовать архитектуре MVVM для этих классов, поэтому у каждого фрагмента есть свой класс ViewModel
и класс Contract.
Проблема заключается в том, что всем ViewModels требуется один и тот же экземпляр объекта (назовем его Book
) для выполнения транзакций Room.
Есть ли правильный способ обмена данными (или LiveData
) между ViewModels?Я знаю концепцию Shared ViewModel, но не знаю, смогу ли я применить ее в этом случае.Я также подумал об использовании MediatorLiveData
, но не получил хорошего подхода к нему.
Я думаю о наличии класса (давайте назовем BookObservableProvider
) с LiveData<Book>
(или Rx Subject<Book>
), где каждый ViewModel внедряет один и тот же экземпляр и всегда загружает / обновляет одно и то же значение.
Это хороший подход?