您的位置:首页 > 移动开发 > Android开发

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之间的耦合度降低,使其更关注自身业务逻辑;

便于单元测试;

代码复用率提高;

代码框架更适用于快速迭代开发;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: