model层
在开发app的过程中,不管是使用了mvp还是mvc甚至mvvm模式,model层的设计基本都是一样的,model层可以被称为数据层,它的主要任务就是为上层提供各种的数据服务,上层完全不需要关心这些数据是来自网络,还是内存,还是本地存储。
那我们就通过一个时序图来看下model层的工作流程
8F09B23E-E1C2-44D7-A45D-C37FFD1B8C63.png
上面的时序图只是反映了数据获取的正常的一个流程,根据业务的不同,数据到底是从内存还是从本地还是从网络获取都是不同的,有些业务会直接从网络获取数据,有些业务会根据本地数据的有效期等进行判断到底是从网络获取还是依旧从本地获取,并且比如从网络返回的数据,有些业务是不需要存储在本地和内存中的,有些则需要从网络获取到数据把本地和内存中的数据进行更新
注意点
从网络获取的数据类型异常校验
看一段从网络返回的json数据
{
"code":0,
"msg":"ok",
"data":{
"age":"",
"weight":"uy8",
"name":"null"
}
}
上面数据中age和weight都