Android架构思想——MVC、MVP、MVVM选择

数据(Model): 数据+对数据进行的操作(不依赖视图的操作)
视图(View):不同的模式有不同的定义,相当于xml+activity+fragment = view合集
逻辑(X): view和model的通信和交互

mvc
优点(对比一个文件打天下):抽离了model
缺陷:controller(activity)的权利太大,什么事情都能做,如果需求多变,activity越改会变得越来越大,越来越臃肿
应用建议:简单的、不大、不怎么修改的页面(如设置界面等)

mvp
优点:activity只剩下了view,presenter承担了view和model之间的交互,满足了单一职责原则,试图数据逻辑是清晰的
缺陷:引入了interface,方法增多、类增多,增加一个方法要改几个地方
应用建议:核心、复杂、需求更换多的界面

mvvm
优点:在MVP的基础上增加了DataBinding,代码量更小,不会因为presenter与view交互而变得琐碎复杂,数据进行了双向绑定,数据修改之后不需要settext等操作,可以直接修改视图
缺陷:XML中需要写代码
应用建议:核心、复杂、需求更换多的界面

同一个APP可以使用多个架构设计
APP功能不多,一两个月即可开发完成且由一人维护,可选择MVC,这种情况相对比MVP更容易给APP进行迭代和维护
APP开发周期较长,配合人员较多,可选择MVP/MVVM,更易于维护和更新迭代

posted @ 2020-08-22 10:53  金大人的梦  阅读(337)  评论(0)    收藏  举报