Android面试之项目架构MVP & MVVM

本文探讨了MVP和MVVM模式在Android面试中的常见问题,解释了MVC、MVP和MVVM的区别。MVP通过Presenter减少View与Model的耦合,提高可测试性和维护性,但会增加代码量。MVVM则引入了双向数据绑定,简化了代码,适合复杂交互。文中还提到了官方提供的MVP样例工程,以及MVVM模式在Android开发中的应用。
摘要由CSDN通过智能技术生成

面试题:谈谈MVP和MVVM模式,你有在自己的项目中使用过吗?

好吧,其实问过很多面试者,结果说明MVP和MVVM模式并没有到妇孺皆知的境地。不过也好,这么一个简单的问题我们就可以很容易区分出面试者是否对Android开发有热情。

在解释MVP时,我们往往喜欢拿它和大众都比较熟悉的MVC进行比较。

MVC全名是Model--View--Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。其中Model层处理数据,业务逻辑等;View层处理界面的显示结果;Controller层起到桥梁的作用,来控制View层和Model层通信以此来达到分离视图显示和业务逻辑层。

我们往往把Android中界面部分的实现也理解为采用了MVC框架,常常把Activity理解为MVC模式中的Controller。

而MVP其实是MVC的一种演进版本,它更简单,将MVC中的Controller改为了Presenter,View通过接口与Presenter进行交互,降低耦合,方便进行单元测试。

View:负责绘制UI元素、与用户进行交互(Activity、View、Fragment都可以做为View层);
Model:对数据的操作、对网络等的操作,和业务相关的逻辑处理;
Presenter:作为View与Model交互的中间纽带&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值