Android开发MVP与MVC的区别

简介: 在Andrioid开发中使用MVP框架解决项目异常卡顿等问题

Android体系
image.png

Android三种结构模式
1、在Android开发中,我们通常会去将项目分成一个个的模块文件夹,
来进行管理维护,有的人是直接按照功能来分模块,这也是最常见的,
有的人则会按照一定的设计模式,再结合功能来进行项目模式设计,
比如MVC,MVP、MVVM。
2、主讲MVP和MVC的区别
MVC的的结构模式
image.png

1、从中很容易看出MVC的大致流程,
用户通过操作View来发送用户请求;
Controller接收到 用户请求 后,
负责决定应该调用哪个Model来进行处理;
然后Model根据用户请求进行相应的业务逻辑处理,
并返回数据;
最后Controller调用相应的视图View
来显示Model返回的数据。

MVP的结构模式
image.png
1、View发送指令给Presenter,
Presenter获取指令后,
调用响应的Model进行业务逻辑处理,
然后返回数据给Presenter,
Presenter根据Model
返回的数据再来调用相应的View

为什么不使用MVC
在Android中,对于Activity并没有明确的说它是属于View还是Controller的范畴,
Activity既有View的性质,
也具有Controller的性质,
所以导致MVC在Android中很难明确分工使用,
导致Activity很重。而且MVC中View会与Model直接交互,
所以Activity与Model的耦合性很高,当后期维护时,稍有变动,
可能Model、Activity、XML都会跟着改变,工作量很大,成本太高

使用MVP的好处

在MVP与MVC最大的不同之处是,
MVP将M与V分隔开来,通过P交互,这样在Android中,
就可以明确的把Activity当作View处理,
虽然可能还有一点逻辑在其中,但是已经无伤大雅;
View和Model不直接交互,当View有变动或者Model有变动时,不会相互影响有太大变动,
耦合性低,对于后期维护来说,特别是项目越来越庞大时,
可以很快的理清项目结构,找到需要修改的地方,大大的缩短了工作量。
而且,因为View与Model分离的缘故,Model可以单独进行单元测试。

相关文章
|
17天前
|
Java Android开发
Android 开发获取通知栏权限时会出现两个应用图标
Android 开发获取通知栏权限时会出现两个应用图标
12 0
|
1月前
|
XML 缓存 Android开发
Android开发,使用kotlin学习多媒体功能(详细)
Android开发,使用kotlin学习多媒体功能(详细)
90 0
|
1月前
|
设计模式 人工智能 开发工具
安卓应用开发:构建未来移动体验
【2月更文挑战第17天】 随着智能手机的普及和移动互联网技术的不断进步,安卓应用开发已成为一个热门领域。本文将深入探讨安卓平台的应用开发流程、关键技术以及未来发展趋势。通过分析安卓系统的架构、开发工具和框架,本文旨在为开发者提供全面的技术指导,帮助他们构建高效、创新的移动应用,以满足不断变化的市场需求。
18 1
|
1月前
|
前端开发 数据安全/隐私保护
什么是mvvm,mvp、mvc和mvvm模式有什么区别?
什么是mvvm,mvp、mvc和mvvm模式有什么区别?
30 0
|
1月前
|
机器学习/深度学习 调度 Android开发
安卓应用开发:打造高效通知管理系统
【2月更文挑战第14天】 在移动操作系统中,通知管理是影响用户体验的关键因素之一。本文将探讨如何在安卓平台上构建一个高效的通知管理系统,包括服务、频道和通知的优化策略。我们将讨论最新的安卓开发工具和技术,以及如何通过这些工具提高通知的可见性和用户互动性,同时确保不会对用户造成干扰。
31 1
|
9天前
|
XML 开发工具 Android开发
构建高效的安卓应用:使用Jetpack Compose优化UI开发
【4月更文挑战第7天】 随着Android开发不断进化,开发者面临着提高应用性能与简化UI构建流程的双重挑战。本文将探讨如何使用Jetpack Compose这一现代UI工具包来优化安卓应用的开发流程,并提升用户界面的流畅性与一致性。通过介绍Jetpack Compose的核心概念、与传统方法的区别以及实际集成步骤,我们旨在提供一种高效且可靠的解决方案,以帮助开发者构建响应迅速且用户体验优良的安卓应用。
|
17天前
|
Android开发
Android开发小技巧:怎样在 textview 前面加上一个小图标。
Android开发小技巧:怎样在 textview 前面加上一个小图标。
10 0
|
18天前
|
Android开发
Android 开发 pickerview 自定义选择器
Android 开发 pickerview 自定义选择器
10 0
|
24天前
|
Java Android开发
Android开发系列全套课程
本系列课程面向有java基础,想进入企业从事android开发的计算机专业者。学习搭配实战案例,高效掌握岗位知识。
16 1
|
25天前
|
数据可视化 测试技术 Android开发
安卓应用开发:打造高效用户界面的五大技巧
【2月更文挑战第30天】在竞争激烈的应用市场中,一个流畅且直观的用户界面(UI)对于安卓应用的成功至关重要。本文将探讨五个关键的UI设计技巧,这些技巧旨在提升用户体验并优化性能。我们将深入分析布局优化、资源管理、动画效果、响应式设计和测试流程等方面,并提供实用的代码示例和最佳实践,帮助开发者构建既美观又高效的安卓应用。