собственно 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. Транзитивная зависимость не позволит разнести фрагменты по модулям.
Обсуждают сегодня