Во всех статьях, MVVM шаблон подразумевает наличие live data, но обязательно ли она там должна быть?
И что должна хранить в себе ViewModel и Repository? Потому что я видел разные реализации, в которых методы из интерфейса Dao передавались сначала в Repository потом в ViewModel, для чего такая передача методов?
Иерархию создания папок и классов я взял из интернета, но в ней, как показано выше, сначала методы из Dao интерфейса вызываются в классе Repository, затем, методы репозитория вызываются в классе ViewModel, почему бы их сразу из Dao во ViewModel не вызвать?