собственно Model нет
2. Ок, уберем геттер из ListViewModel.listId property
3. см п. 2
4. А она и не меняет, ее лист ид проперть рид онли
5. Нуу, я ж не писал полноценное приложение, я знаю, что не отписывается. Реализовать это можно элементарно в fragment lifecycle. A так-то можно и полноценную message bus замутить
6. Почему? Время жизни DetailsViewModel равно жизни фрагмента, пока существует фрагмент, существует и она. Без фрагмента она не существует. Если фрагмент уничтожается, ну да, вью модель надо отписывать от событий модели. Но зачем фрагменту отписываться от вью модели?
7. Втыкать фрагмент в существующую иерархию View это сильно дольше, чем прятать его, если мне не изменяет память.
По поводу I из SOLID - а где вы там specific interfaces увидели-то? Это данные, при чем тут интерфейсы. Это I - оно про узкую специализацию именно интерфейцев, типа вместо одного ISaveLoadVerifyAndUpload должно быть 4
А "свои" модели знают напрямую про Model. Транзитивная зависимость не позволит разнести фрагменты по модулям.
Обсуждают сегодня