app架构是一种开发方案数据库
首先就是关于Model层的理解:网络
个人理解:Model层是属性和获取这些属性方法的集合。架构
好比在Android里,数据库里的数据是Model层,ORM框架也是Model层,假如要进行搜索操做,那么搜索的条件不属于Model层,以及搜索后所对数据进行的预处理也不是Model层.app
其实这两种不属于框架
在Android中:测试
默认的开发模式是MVC的 其中Activity是Controller,xml文件和自定义的控件的是View.而那些网络请求操做的Network类是Model,而后Network请求的回调接口里面直接更新View属性。xml
而后为了解决VC之间的耦合,将上面Network回调接口改为不直接更新View,而是交给Presenter来中转一下,一样,在View点击时也是先交由Presenter来中转,这样的开发模式就是MVP。接口
此时M与V彻底解耦,既能够将View层彻底重构而无需担忧Model层须要从新更改测试,也能够将Model层实现改成另外一种方式,不用考虑View的问题。开发
而MVVM也是对MVC的一种改进,它也是讲View与Model解耦,可是形式不同,须要注意的是须要有一个ViewModel框架来支撑View和ViewModel的交互。而ViewModel层的做用也就是业务逻辑,何时绑定一个View何时解绑,而后业务逻辑交给Model层来作。it
须要注意的事,有时候业务逻辑很难区分,这时候就要根据项目确认哪些是通用的东西,能够做为Model层,哪些是只有这个页面才会用到的放到业务逻辑层。 这跟我的对总体的把控和项目经验有关。