MVC MVP MVVM

MVC MVP MVVM

MVC MVP MVVM

MVC MVP MVVM浅谈,MVC、MVP和MVVM都是为了解决界面呈现和逻辑代码分离而出现的模式。MVC作为最经典的开发模式之一,经典的MVC模式是M-V-X模式的老祖宗,MVP和MVVM都是在MVC的基础上演化而来,和MVC框架模式一样,Model模型处理数据代码。这些架构的目的都是为了提高代码的复用率、降低代码的耦合度、便于模块测试、版本的迭代更新,下面对每个架构进行简单的介绍与使用。

  • MVC
  • MVP
  • MVVM

MVC

MVC
M:模型 业务逻辑处理
V :视图 处理数据显示
C: 控制器 Activity处理用户交互问题

特点:①:耦合性低。②:可扩展性好。③:模块划分明确。
activity厚重,业务扩及复杂。实际上Activity即显示视图,又控制逻辑。
View既依赖于Controller又依赖于Model,解耦程度不足。

MVP

MVP
M:依然是业务逻辑和具体实体模型。
V:对应activity,负责view的绘制以及用户交互。
P:负责完成View与Model质检的交互。

区别: Presenter将View与Model分离,使得View和Model之间不存在耦合,同时也将业务逻辑从View中抽离。所有的业务逻辑由Presenter主持者来控制。
数据Model通过Presenter和View交互,比MVC耦合性更低。

优点:模块职责划分明显,增加可测试性与可扩展性,隐藏数据,降低了程序的耦合度,提高了代码的重用性与灵活性。
缺点:视图的渲染在Presenter中,所以视图和Presenter的交互会过于频繁。如果Presenter过多地渲染了视图,往往会使得它与特定的视图的联系过于紧密。
一旦视图需要变更,那么Presenter也需要变更了

MVVM

MVVM

1View:对应于activity和xml,负责view的绘制和用户交互。
2.model:实体模型
3.ViewModel:负责完成View和Model间的交互,负责业务逻辑。

MVVM模式:采用双向绑定(data-binding):View的变动,自动反映在 ViewModel,反之亦然。
ViewModel主要包括界面逻辑和模型数据封装,Behavior/Command事件响应处理,绑定属性定义和集合。

优点:便于代码移植,兼容MVC,方便测试,降低了程序的耦合度,提高了代码的重用性。
缺点:类会增多,ViewModel会越加庞大,调用的复杂度增加。

书到用时方恨少,纸上得来终觉浅。希望可以帮助到您。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115049.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件缺陷,缺陷报告怎么写_缺陷报告通常包括哪些内容

    软件缺陷,缺陷报告怎么写_缺陷报告通常包括哪些内容软件缺陷软件缺陷:常常又被叫做Bug。所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。从软件测试观点出发,软件缺陷有以下五大类:功能缺陷、系统缺陷、加工缺陷、数据缺陷、代码缺陷软件类别:缺陷的表现形式不仅体现在功能的失效方面,还体现在其他方面。主要类型有:软件没有实现产品规格说明所…

    2022年9月18日
    1
  • Nexus3的使用[通俗易懂]

    Nexus3的使用[通俗易懂]nexus的简介、安装以及Maven项目中使用Nexus仓库

    2022年7月12日
    15
  • HashMap遍历的四种常用方式「建议收藏」

    HashMap遍历的四种常用方式「建议收藏」古人云:温故而知新。最近闲来无事就去翻阅了一下之前的一些基础java知识点。本想着随便看看,然而就发现有了意外收获。比如本文所讲HashMap遍历的四种常用方式。大伙们一起学习一起进步,记得点赞关注以示鼓励哈!!!准备工作首选我们先准备一个HashMap。publicclassTest1{publicstaticvoidmain(String[]args){Map<String,String>map=newHashMap<St

    2022年9月9日
    0
  • 大数据概况及Hadoop生态系统总结

    大数据概况及Hadoop生态系统总结觉得有帮助的,请多多支持博主,点赞关注哦~文章目录大数据概况及Hadoop生态系统1、大数据概念理解1.1、什么是大数据?1.2、大数据特征(4V)?1.3、大数据应用场景?1.4、大数据部门业务流程分析?1.5、大数据部门组织结构?1.6、数据仓库与数据库的区别?2、职业简介2.1、大数据工程师2.1.1、简介2.1.2、职责2.1.3、所需技能2.1.4、工作方向2.2、大数据分析师2.2….

    2022年5月19日
    39
  • Microsoft Office 2007正式版序列号,可通过正版验证[通俗易懂]

    Microsoft Office 2007正式版序列号,可通过正版验证[通俗易懂]MicrosoftOffice2007AppKey:RYX9X-2WR37-XTBXD-CGGCJ-FQ8BJFWVFQ-P23PG-PQC4W-X299G-D44MJFJYC4-Y8JTR-T8RKY-4GBD4-TQK38J8TVY-RW6CH-K4K92-JW4T8-B4THWMJJHT-2G2B3-GTWVP-BHX3C-WKCVWMJCXB-73MGC-GY37D-Y…

    2022年7月19日
    19
  • Nginx服务器安装阿里云SSL证书教程[通俗易懂]

    Nginx服务器安装阿里云SSL证书教程[通俗易懂]Nginx配置SSL证书,大致分为5个步骤:步骤1:申请一张测试试用证书步骤2:下载证书并上传到服务器步骤3:在服务器配置证书步骤4(可选):配置HTTP强制跳转HTTPS步骤54:开放HTTPS访问及验证下面开始我们的配置步骤1:申请一张测试试用证书打开阿里云控制台官网,搜索SSL,点击进入SSL证书(应用安全)选择左侧SSL证书,点击免费证书点击立即购买,会弹出右侧购买栏,选择DV单域名证书【免费试用】,点击下方购买由于该证书限制只能有一个,所以接

    2022年10月3日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号