码迷,mamicode.com
首页 > 移动开发 > 详细

Android 中的MVC MVP MVVM

时间:2018-03-19 13:41:58      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:耦合   网络   关于   AC   pre   开发模式   页面   body   网络请求   

app架构是一种开发方案

首先就是关于Model层的理解:

我的理解:Model层是属性和获取这些属性方法的集合。

比如在Android里,数据库里的数据是Model层,ORM框架也是Model层,假如要进行搜索操作,那么搜索的条件不属于Model层,以及搜索后所对数据进行的预处理也不是Model层.

其实这两种不属于

 

 

在Android中:

默认的开发模式是MVC的 其中Activity是Controller,xml文件和自定义的控件的是View.而那些网络请求操作的Network类是Model,然后Network请求的回调接口里面直接更新View属性。

然后为了解决VC之间的耦合,将上面Network回调接口改成不直接更新View,而是交给Presenter来中转一下,同样,在View点击时也是先交由Presenter来中转,这样的开发模式就是MVP。

此时M与V完全解耦,既可以将View层完全重构而无需担心Model层需要重新更改测试,也可以将Model层实现改为另一种方式,不用考虑View的问题。

而MVVM也是对MVC的一种改进,它也是讲View与Model解耦,但是形式不一样,需要注意的是需要有一个ViewModel框架来支撑View和ViewModel的交互。而ViewModel层的作用也就是业务逻辑,什么时候绑定一个View什么时候解绑,然后业务逻辑交给Model层来做。

 

需要注意的事,有时候业务逻辑很难区分,这时候就要根据项目确认哪些是通用的东西,可以作为Model层,哪些是只有这个页面才会用到的放到业务逻辑层。 这跟个人对整体的把控和项目经验有关。

 

Android 中的MVC MVP MVVM

标签:耦合   网络   关于   AC   pre   开发模式   页面   body   网络请求   

原文地址:https://www.cnblogs.com/vete-l/p/8601032.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!