论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
软件与程序人生
›
移动端开发
›
鸿蒙
›
比较鸿蒙应用中MVVM与MVP模式在处置处罚数据流、相应用 ...
比较鸿蒙应用中MVVM与MVP模式在处置处罚数据流、相应用户变乱以及职责分别 ...
农妇山泉一亩田
论坛元老
|
2024-6-26 11:28:49
|
显示全部楼层
|
阅读模式
楼主
主题
1611
|
帖子
1611
|
积分
4833
鸿蒙应用中MVVM与MVP模式的异同比较:
数据流处置处罚:
MVVM
:
数据流从Model流向ViewModel,通过数据绑定机制(如ObservableField、LiveData等)主动同步到View。ViewModel持有Model的引用,监听数据变革并更新内部状态,View通过绑定这些状态属性实现主动革新。
数据反向流动(用户输入或View变乱触发的数据更新)通常通过Command模式或数据绑定中的双向绑定机制,直接将View的变乱传递给ViewModel处置处罚,ViewModel再调用Model进行数据修改。
MVVM模式强调数据驱动,数据变革主动驱动视图更新,减少了手动利用DOM或更新UI的工作。
MVP
:
数据流从Model流向Presenter,Presenter处置处罚完业务逻辑后,通过接口回调或者持有View引用的方式主动通知View更新。
用户输入或View变乱起首被View捕捉并转发给Presenter,Presenter处置处罚变乱并调用Model获取或更新数据,之后再通过View接口将新的数据或指令传递回View进行展示。
MVP模式中,数据流的传递更显式,Presenter扮演协调者的角色,负责手动推动数据到View进行更新。
相应用户变乱:
MVVM
:
用户变乱(如按钮点击、滑动等)通常在View中声明并通过数据绑定直接关联到ViewModel的方法或属性上。ViewModel中对应的处置处罚函数实行业务逻辑,并可能触发Model层数据变动,由于数据绑定的存在,View会主动相应这些变革。
变乱处置处罚逻辑在ViewModel中会合管理,View仅负责触发变乱和展示结果,保持轻量级。
MVP
:
用户变乱在View层被捕捉后,通过接口方法传递给Presenter。Presenter根据变乱范例实行相应的业务逻辑,可能涉及Model层交互,然后调用View的接口方法告知其更新UI或实行特定动作。
MVP模式中,View与Presenter通过明确的接口进行通信,View不直接处置处罚业务逻辑,而是将变乱委托给Presenter,Presenter负责具体的相应逻辑。
职责分别:
MVVM
:
Model
:负责数据的存储、业务逻辑处置处罚和数据提供,对View和ViewModel透明。
View
:负责UI展示,通过数据绑定与ViewModel创建联系,只关心如何表现数据和相应用户交互,不包罗任何业务逻辑。
ViewModel
:作为View的逻辑封装,持有Model数据的副本或引用,处置处罚业务逻辑和数据转换,提供可供View绑定的公开属性和下令接口,使得View能主动相应数据变革。
MVP
:
Model
:与MVVM中的Model角色相同,负责数据和业务逻辑。
View
:同样负责UI展示,但不直接与Model交互。View通过接口袒露自身的利用方法供Presenter调用,同时实现Presenter定义的接口以吸收更新指令。
Presenter
:持有View和Model的引用,负责业务逻辑处置处罚、数据调理以及控制View的行为。Presenter吸收到View的变乱后处置处罚并调用Model,再根据Model的反馈更新View。
总结:
异同点
:
相同
:两者都遵循分层架构原则,将业务逻辑、数据处置处罚与UI展示分离,都有Model层负责数据和业务逻辑,View层专注于UI呈现。
不同
:
数据流
:MVVM通过数据绑定实现主动数据同步,数据变革主动驱动视图更新;MVP则需要Presenter手动将数据推送给View更新。
变乱处置处罚
:MVVM中用户变乱直接绑定到ViewModel,处置处罚逻辑在ViewModel内;MVP中变乱由View传递给Presenter,Presenter处置处罚后再回调View更新。
职责分别
:MVVM中ViewModel作为View的逻辑代理,简化View并实现数据驱动;MVP中Presenter更像是协调者,通过接口与View交互,控制View的行为。
在鸿蒙应用
开发
中,选择MVVM还是MVP模式取决于具体项目需求、团队习惯以及对主动化数据同步、代码可测试性、复杂度管理等方面的偏好。MVVM由于其数据绑定特性,通常被以为更得当构建复杂的、数据驱动型的应用,而MVP在保持清晰职责分别的同时,可能更得当需要高度控制UI更新流程或器重接口契约清晰性的场景。
为了能让各人更好的学习鸿蒙(HarmonyOS NEXT)
开发
技能,这边特意整理了《鸿蒙
开发
学习手册》(共计890页),希望对各人有所资助:https://qr21.cn/FV7h05
《鸿蒙
开发
学习手册》:
如何快速入门:https://qr21.cn/FV7h05
基本概念
构建第一个ArkTS应用
……
开发
基础知识:https://qr21.cn/FV7h05
应用基础知识
配置文件
应用数据管理
应用安全管理
应用隐私保护
三方应用调用管控机制
资源分类与访问
学习ArkTS语言
……
基于ArkTS
开发
:https://qr21.cn/FV7h05
Ability
开发
UI
开发
公共变乱与通知
窗口管理
媒体
安全
网络与链接
电话服务
数据管理
后台任务(Background Task)管理
设备管理
设备使用信息统计
DFX
国际化
开发
折叠屏系列
……
鸿蒙
开发
面试真题(含参考答案):https://qr18.cn/F781PH
鸿蒙
开发
面试大盘集篇(共计319页):https://qr18.cn/F781PH
1.项目
开发
必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙
开发
系统底层方向
5.鸿蒙音视频
开发
方向
6.鸿蒙车载
开发
方向
7.鸿蒙南向
开发
方向
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
农妇山泉一亩田
论坛元老
这个人很懒什么都没写!
楼主热帖
厉害了,腾讯云云巢荣获信通院“云原生 ...
2022 春节抖音视频红包系统设计与实现 ...
数据库概述
【Redis高手修炼之路】②Redis的五大数 ...
原型设计工具比较及实践--滴爱音乐 ...
ABP Framework 5.3.0 版本新增功能和变 ...
OpenHarmony和HarmonyOS有什么区别?这 ...
多线程(一)-两种创建线程的方式 ...
LoRa模块无线收发通信技术详解 ...
体系集成商已死,有事烧纸:浙江着名集 ...
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
linux
程序人生
物联网
MES
分布式数据库
DevOps与敏捷开发
快速回复
返回顶部
返回列表