Jetpack-MVVM架构

MMVM架构

“观察者模式”

数据模型驱动界面更新

数据模型驱动界面更新:在数据发生变化时,界面能够自动得到通知并进行更新。

普通应用程序的数据来源有两种:一种本地通常是本地数据库;一种是远程服务端,即网络数据。

安卓/数据模型驱动界面更新

实际开发过程中,为了更好的用户体验,通常会将本地数据库和远程服务器两种方式进行结合使用。若在 ViewModel 层对本地数据和网络数据进行业务逻辑处理,会增加 ViewModel 的复杂度,因此在 ViewModel 和 Model 层之间引入 Repository 层。在 Repository 层处理本地数据和网络数据之间的业务逻辑,让 Repository 层对 ViewModel 层负责,使 ViewModel 层只需要关系自己的业务逻辑,不用关心数据的具体来源。

引入Repository后的架构图

安卓/引入Repository层后的架构

MVVM架构中每一层的职责都是清晰的、明确的,且只对上一层负责。这样畅远来源,岁代码量增加不容易让项目陷入技术债务中。由于每一层的职责单一,每个模块也更容易进行独立测试。