В представлении модели примера android, Google использовал следующий шаблон:
private val _dialog = MutableLiveData<Dialog>()
val dialog : LiveData<FindaDialogFragment> = _dialog
Я искал в Google причину. В заключение, мы ограничили доступ так, чтобы фрагменты и действия не могли изменить данные в viewModel.
Я понял, но не мог сочувствовать. Есть ли на самом деле только одна причина? Если это так, код будет более длинным в viewModel, чтобы ограничить доступ к переменным.
private val name = MutableLiveData<String>()
также, При двухстороннем связывании данных используется только MutableLiveData. Это не логично.
Я хотел бы знать, есть ли другие причины для использования этого шаблона.