Android架构之MVC、MVP、MVVM详解

本文介绍了Android架构中的MVC、MVP和MVVM模式,探讨了它们的本质区别和在Android开发中的应用。MVC模式中Controller负责业务逻辑,可能导致代码耦合;MVP通过Presenter实现View与Model的分离,降低耦合,但接口过多;MVVM通过数据绑定和ViewModel,实现UI与业务逻辑的解耦,但需要学习额外的框架。选择架构模式需考虑项目规模、团队熟悉度等因素。

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

前言

你好!
我是一只修仙的猿,欢迎阅读我的文章,希望能让你有所收获。

MVC、MVP、MVVM均为架构模式,应用在Android上,称为Android架构模式。可能你会觉得我在讲废话,清楚他的定义非常重要。这样会有几个问题:

  • 什么是架构模式?什么是android架构模式?
  • MVC、MVP、MVVM的本质区别是什么?
  • 他们在android上的应用是怎么样的?
  • 我们该如何选择?

弄清楚这几个问题,可以帮助我们更好地理解这三种架构模式,继而更好地运用它们。

这篇文章主要的内容是带你了解什么是架构以及android架构,以及详解三种架构模式的本质。

笔者才疏学浅,有不同观点欢迎评论区或私信讨论。如需转载私信告知即可。
另外欢迎阅读笔者的个人博客一只修仙的猿的个人博客,更精美的UI,拥有更好的阅读体验。

本文目录

本文大纲.png

架构以及Android架构

架构,即为骨架,是指导开发的关键。例如一个人,身体的骨骼即为身体的架构,有了基本骨架之后,才可以决定在头颅里开发大脑,在肋骨中开发肺部等。软件开发也是如此,也需要一个“骨架”,即架构。他可以指引我们什么地方该做什么事情,让整个软件的开发思路非常清晰。

Android架构,即为开发android时使用的架构。Android的开发一般分为三部分:UI逻辑,业务逻辑和数据操作逻辑。这里可以举个例子

获取天气详情并展示。首先要写布局xml,接着在Activity中获取到view实例。此为UI逻辑。然后需要通过网络请求获得数据,此为数据操作逻辑。接着获取到数据后,需要将数据进行缓存,解析,再set到view上进行展示,此为业务逻辑。

Android架构,就是为了更好地协调这三者的关系。达到:

  1. 各模块高内聚低耦合的状态,方便进行团队分工合作开发。
  2. 代码思路清晰,提高代码的可维护性与可测试性。
  3. 减少样板代码,提高开发效率,减少开发错误。

为了达到这些目的,所有才有各种架构不断涌现,却没有一个统一的开发框架。不同于移动端,web端开发有成熟的SpringMVC框架,可以快速规范地开发一个项目。而移动端缺乏框架的支撑,各路大神各显神通,不断涌现了不同的架构模式来适应不同的开发情景,如MVC,MVP等等。但由于没有历史的沉淀,各种架构模式的弊端也渐渐浮出水面。在这种情境下,谷歌退出了架构组件,用成熟的框架来减少样板代码,提高开发效率,有如SpringMVC的风范,这就是MVVM的框架实现。下面我们就详细展开讲这些架构模式。

详解三种架构模式

MVC

Android上的MVC架构我认为是来源于web开发的SpringMVC,MVC全名为Model-View-Controller,图解如下

MVC.png
  • View:负责与用户交汇,显示界面。
  • Controller:负责接收来自view的请求,处理业务逻辑。
  • Model:负责数据逻辑,网络请求数据以及本地数据库操作数据等。

在MVC架构中,Controller是业务的主要承载者,几乎所有的业务逻辑都在Controller中进行编写。而View主要负责UI逻辑,而Model是数据逻辑,彼此分工。

MVC的本质就是按照UI逻辑、业务逻辑、数据逻辑不同的职责分三大模块,彼此分工。

在Android中,view一般使用xml进行编写,但xml的能力不全面,需要Activity进行一些UI逻辑的编写,因而MVC中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值