MVC、MVP、MVVM的简单了解以及它们的优缺点概述

本文详细介绍了MVC(Model-View-Controller)、MVP(Model-View-Presenter)及MVVM(Model-View-ViewModel)三种软件架构模式的特点、应用场景及其优缺点。通过对比分析,帮助读者理解这三种模式之间的区别与联系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MVC:

简介:
(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:Model(模型)-View(视图)-Controller(控制器)。

总结:
MVC模式:是一种将业务逻辑、界面显示、数据存储分离开来的方法组织框架。

应用:
在Android中,Bean类为数据原型,xml布局文件显示视图,Activity类做逻辑跳转。
但实际上Activity即显示视图,又控制逻辑。

优缺点:

优点: 分离类的UI与业务职责,增加可测试性与可扩展性,降低了程序的耦合度,提高了代码的重用性。(耦合:紧密配合与相互影响)

缺点:View既依赖于Controller又依赖于Model,解耦程度不足。

MVP:

简介:
Model(模型)-View(视图)-Presenter(主持者)。 由MVC演变而来的一种模式。

区别:
Presenter将View与Model分离,使得View和Model之间不存在耦合,同时也将业务逻辑从View中抽离。所有的业务逻辑由Presenter主持者来控制。

优缺点:

优点:模块职责划分明显,增加可测试性与可扩展性,隐藏数据,降低了程序的耦合度,提高了代码的重用性与灵活性。

缺点:视图的渲染在Presenter中,所以视图和Presenter的交互会过于频繁。如果Presenter过多地渲染了视图,往往会使得它与特定的视图的联系过于紧密。
一旦视图需要变更,那么Presenter也需要变更了


MVVM :

简介:
Model(模型)-View(视图)-ViewModel(视图模型)。

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

优缺点:

优点:便于代码移植,兼容MVC,方便测试,降低了程序的耦合度,提高了代码的重用性。

缺点:类会增多,ViewModel会越加庞大,调用的复杂度增加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值