1.使用界面控制器(activity和fragment)尽可能保持精简。他们不应该视图获取自己的数据,而应该使用ViewModel执行此操作,并观察LiveData对象以将更改体现到视图中
2.设法编写数据驱动型界面,对于此类界面,界面控制器的责任是随着数据更改而更新视图,或者将用户操作通知给ViewModel
3.将数据逻辑放在ViewModel类中。ViewModel应充当界面控制器与应用其余部分之间的连接器。不过要注意,ViewModel不负责获取数据(例如,从网络获取)。但是,ViewModel应调用相应的组件来获取数据,然后将结果提供给界面控制器
4.如果界面很复杂,不妨考虑创建presenter类来处理界面的修改
5.避免在ViewModel中引用View或activity上下文,以防内存泄漏