安卓mvp与mvvm怎么选?


一.什么是mvp

MVP架构其实可以说与MVC的优化,传统安卓的mvc中controller中任务太重,其实我们最开始开发过程中,也会把代码量较大的controller抽取一部分代码到业务工具类中,其实就是p层的雏形,只不过mvp架构把如何抽取规范化了。
在mvp中,
view视图层,代表Activity;
p层,接口请求层。
mvp可能导致内存泄漏,但是我们可以规避。
关于mvp的使用可以参考我的上一篇文章:
安卓mvp进阶封装实践

二.什么是mvvm

mvvm是双向数据绑定,viewmodle是连接view和modle的桥梁。

它在前端工程中使用的非常常见,比如vue,anglarJs这些前端框架,前端用着确实爽,因为前端对开发者完全屏蔽了viewModle实现,前端开发者可以直接拿来用。
安卓的viewmodle是谷歌推出的基于databing、lifecycler、viewmodle等一系列jetpact库实现的。
相比前端,其实现还是略显复杂了些

三.怎么选?

1.是看公司要求,如果公司现成代码已经有要求必须用mvvm或者必须用mvp,那么我们按公司要求肯定是没错的。
2.如果以页面展示为主的可以选mvvm,如果app逻辑复杂建议选mvp。
2.如果是我选我会混合使用,已mvp为主,特别简单的界面用mvc也可以,如有有需要双向数据绑定的场景选择用mvvm。

四.未来趋势?

我认为未来还是mvvm的,只是现在安卓mvvm框架还不够易用。
谷歌推出mvvm框架已经有些年头了,但是依然不够流行的主要的原因就是其使用还是略显复杂了些。
一个框架的易用程度决定了它的流行程度。就像是vue的开发人员不会考虑mvp一样,我相信未来安卓mvvm会做的越来越简单易用,那时候mvvm才会彻底一统天下,不用再纠结怎么选了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值