Android MVP设计的简单理解
2016-03-31 16:06
344 查看
Model-View-Controller
Model-View-Presenter
MVC/P模式的核心都是为了将模型从视图/控制器中分离出来,从而使得模型独立于它们,因此模型不包含对视图和控制的引用。
Model 用于数据库的读写,或者网络数据的请求
View 就是普通的XML布局显示的视图
两者区别
Controller 包括对视图的渲染逻辑
Presenter 不包括对视图的渲染逻辑
个人笔记:
MVC 中 Controller 控制东西多,如果后期功能拓展,代码增加,维护起来很不方便
MVP 就是为了进一步降低和View的耦合度,提出采用Presenter来管理,但是减少了对视图的渲染逻辑
具体例子说明:http://android.jobbole.com/80915/
Android开发MVP模式解析 http://blog.csdn.net/guxiao1201/article/details/40147209
传统的MVC中三者之间都有交互,View(界面)触发事件—>Controller(业务)处理了业务,然后触发了数据更新—>不知道谁更新了Model的数据—>Model(带着数据)回到了View—>View更新数据,形成闭环,这样关系维护略显复杂;
MVP则是使用P截断了M与V之间的联系,降低了复杂程度,指责结构简单明了;
MVP VS MVC
在把原本MVC模式的代码修改为MVP模式后,总结这两个模式在实际使用过程中的不同点基本上总结为两点:
各个层之间通过接口协议进行沟通;
View和Model不再进行直接交互;
MVP将会为你的代码带来如下好处:
View和Model之间的耦合度降低,使其更关注自身业务逻辑;
便于单元测试;
代码复用率提高;
代码框架更适用于快速迭代开发;
Model-View-Presenter
MVC/P模式的核心都是为了将模型从视图/控制器中分离出来,从而使得模型独立于它们,因此模型不包含对视图和控制的引用。
Model 用于数据库的读写,或者网络数据的请求
View 就是普通的XML布局显示的视图
两者区别
Controller 包括对视图的渲染逻辑
Presenter 不包括对视图的渲染逻辑
个人笔记:
MVC 中 Controller 控制东西多,如果后期功能拓展,代码增加,维护起来很不方便
MVP 就是为了进一步降低和View的耦合度,提出采用Presenter来管理,但是减少了对视图的渲染逻辑
具体例子说明:http://android.jobbole.com/80915/
Android开发MVP模式解析 http://blog.csdn.net/guxiao1201/article/details/40147209
传统的MVC中三者之间都有交互,View(界面)触发事件—>Controller(业务)处理了业务,然后触发了数据更新—>不知道谁更新了Model的数据—>Model(带着数据)回到了View—>View更新数据,形成闭环,这样关系维护略显复杂;
MVP则是使用P截断了M与V之间的联系,降低了复杂程度,指责结构简单明了;
MVP VS MVC
在把原本MVC模式的代码修改为MVP模式后,总结这两个模式在实际使用过程中的不同点基本上总结为两点:
各个层之间通过接口协议进行沟通;
View和Model不再进行直接交互;
MVP将会为你的代码带来如下好处:
View和Model之间的耦合度降低,使其更关注自身业务逻辑;
便于单元测试;
代码复用率提高;
代码框架更适用于快速迭代开发;
相关文章推荐
- Android 数据操作之SQLiteDatabase
- android 图片压缩
- 笔记 Android广播初使用
- android 百度地图
- Android程序安装后应用图标不显示
- Android几种弹窗的实现
- Android Studio Ndk 编程
- 【Android】AlarmManager 实现提醒一次,每天提醒,周自定义提醒,月自定义提醒
- Android Studio 导入项目说明
- Using Multiple Android Studio Versions
- Android 自定义View高级特效,神奇的贝塞尔曲线
- 笔记 Android的Fragment初使用
- Android程序中价格的处理
- Realm for Android 快速入门
- Android开源项目分类汇总(七)优秀项目
- android6.0 statusbar 通知栏颜色
- Android Studio使用总结 [未完待续]
- (4.6.9)Android属性allowBackup安全风险浅析
- Android开源项目分类汇总(六)工具库
- 安卓下拉刷新开源库对比