码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • android中MVC MVP MVVM三种架构对比


    一、MVC

     model层:数据模型,通常是bean对象

     view层:layout布局,activity对象

     controller层:activity对象

    优点:结构简单,灵活

    缺点:随着业务的增加Activity会变的臃肿,因为activity中既要处理业务逻辑又要更新view,不符合单一职责设计思想,耦合度高,扩展性、可重用性差。

    使用场景:业务简单的小型项目

    二、MVP

     model层:数据模型,通常是bean对象

     view层:layout布局,activity对象

     presenter层:presenter接口,及实现类,View层与Model层的桥梁并对业务逻辑进行处理

    mvp架构由mvc架构发展而来,p层将业务逻辑处理从activity中抽离出来,实现了view层与model层的完全解耦,但view层和presenter层还是有耦合(p层需要持有v层的引用,来更新view)。

    优点:分层清晰,耦合降低。

    缺点:需要定义和实现大量接口,使用复杂度高

    使用场景:大型项目,业务很重,开发人员多

    三、MVVM

     

    model层:数据模型,通常是bean对象

    view层:layout布局,activity对象

    viewModel:连接 View 与 Model 的中间桥梁,ViewModel 与 Model 直接交互,通过DataBinding将数据变化反应给View

    优点:进一步解耦view与viewModel层(viewmodel无需持有view层对象,通过DataBinding数据双向绑定)

    缺点:需要使用DataBinding,增加了编译时间;

               不易于调试和追踪bug。

    使用场景:界面UI更新频繁的项目,因为模块间解耦,修改起来更容易

     

  • 相关阅读:
    nodejs搭建服务器手册
    《vue3实战》运用push()方法实现电影评价系统的添加功能
    Rust 通过 DBC 解析传感器数据
    MongoDB基础【学习笔记】
    计算机毕业设计项目选题推荐(免费领源码)java+ssm+Mysq学科竞赛管理系统08604
    THFuse: An infrared and visible image fusion network using transformer and hybrid feature extractor 论文解读
    加速释放传统企业业务潜力,S2B2B商城建设方案引领电商模式新风向
    SQL语句,存储过程,触发器
    【Python】【源码】SocketIO做一个网络聊天室软件-服务端源码
    在使用npm安装插件时,npm报错ERESOLVE
  • 原文地址:https://blog.csdn.net/qq_27246079/article/details/127830493
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号