美文网首页
对MVC和MVP的理解

对MVC和MVP的理解

作者: 社保吧 | 来源:发表于2017-07-06 11:49 被阅读0次

一、MVC

1、M:model层,数据交互层

2、V:视图层,展示界面

3、C:控制层,一般指activity或者fragment

优点:控制器c(activity或者fragment)发出指令,数据操作在model层,耦合性降低

缺点:视图层v是xml布局,很少做业务逻辑,这样控制器(activity或者fragment)
既充当了控制层c,又充当了视图层v,代码还是会比较臃肿,v和m的耦合性高

二、MVP

1、M:model层,数据交互层

2、V:界面的业务处理(activity或者fragment界面的业务处理,比如获取输入框的账号密码等)

3、P:activity或者fragment通过p发出指令,比如登录按钮发出的登录指令

举个登录的案例




LoginActivity点击登录按钮,

实例化一个Presenter,LoginPresenter loginPresenter=new LoginPresenter(this) (this代表LoginActivity,LoginActivity是Loginview接口的实现类,Loginview定义了获取账号密码的方法),

调用loginPresenter.login()(就 可以通过传递过来的loginview对象获取账号密码去登录请求了),

login()通过loginModel去做数据交互,交互结果通过OnLoginListener接口回调给loginPresenter,

loginPresenter收到回调结果后,调用loginview对象定义的toast、跳转等方法。

这样Activity就只充当了发出指令,界面业务处理的调度者,Presenter作为连接View和Model的桥梁,View和Model没有直接联系,完全解耦

相关文章

  • 对MVC和MVP的理解

    一、MVC 1、M:model层,数据交互层 2、V:视图层,展示界面 3、C:控制层,一般指activity或者...

  • 重学巩固你的Vuejs知识(上)

    前沿 谈谈你对MVC、MVP和MVVM的理解? https://github.com/webVueBlog/int...

  • 第三天

    1、对MVC、MVVM、MVP的理解? MVC (1)MVC:是后台的框架模式分为M:(model模型)、V...

  • 我自己对于mvp模式的理解

    这里仅仅记录自己对于mvp模式的理解 mvp是从mvc演化而来的,想了解mvp就先必须了解mvc mvc是什么, ...

  • MVP for Android

    注:便于更好的理解MVP并区分和MVC的差别,推荐阅读我另一篇文章MVC for Android 概念 MVP,即...

  • 前端常见面试题(五)@郝晨光

    对MVC、MVP、MVVM的理解 MVC阮一峰老师MVC图示 M 表示 Model , 专门用来处理数据模型。V ...

  • Android 开发中的MVC,MVP和MVVM

    原文出处:选择恐惧症的福音!教你认清MVC,MVP和MVVM/** ** 相信大家对MVC,MVP和MVVM都不陌...

  • Web前端面试题

    1,对MVC 、MVVM、MVP的理解 (1)MVC Models: 数据层,负责数据的请求和存储以及处理 Vie...

  • vue的生命周期

    Vue 对 MVC、MVP 、MVVM 的理解 MVC 模式的意思是,软件可以分成三个部分。 视图(View):用...

  • 第七天vue面试题

    借鉴别人 1,对MVC 、MVVM、MVP的理解 (1)MVC Models: 数据层,负责数据的请求和存储以及处...

网友评论

      本文标题:对MVC和MVP的理解

      本文链接:https://www.haomeiwen.com/subject/pdhhhxtx.html