Android面试题,架构MVC/MVP/MVVM,包括MVC、MVP、MVVM的介绍和优缺点,以及组件化、模块化的概念问题。
本文是我一点点归纳总结的干货,但是难免有疏忽和遗漏,希望不吝赐教。
转载请注明链接:https://blog.youkuaiyun.com/feather_wch/article/details/81282033
有帮助的话请点个赞!万分感谢!
Android面试题-架构MVC/MVP/MVVM
版本:2018/8/16-1(10:31)
MVC
1、Android中MVC是什么?特点?
Model:针对业务模型建立的数据结构和类(与View无关,只与业务相关)View:XML/JAVA或者JS+HTML进行页面的显示。Activity/Frgament也承担了View的功能。Controller:Android的控制层通常在Activity、Fragment之中。
本质就是Controller操作Model层的数据,并且将数据返回给View层展示。

2、Android的MVC的缺点:
Activity并不是MVC中标准的Controller,既有Controller的职责也有View的职责,导致Activity的代码过于臃肿。View层和Model层互相耦合,耦合过重,代码量过大,不易于开发和维护。
MVP
3、Android中的MVP模式
MVP(Model-View-Presenter)Model:主要提供数据的存储功能。Presenter需要通过Model存取数据。View: 负责处理点击事件和视图展示(Activity、Fragment或者某个View控件)Presenter:View和Model之间的桥梁,从Model检索数据后返回给View层。使得M/V之间不再有耦合关系。

4、MVP和MVC的区别?(2)
MVP中绝对不允许View直接访问Model- 本质是
增加了一个接口降低一层耦合度
5、MVP的特点
Presenter完全将Model和View解耦,主要逻辑处于Presenter中。Presenter和具体View没有直接关联,通过定义好的接口进行交互。View变更时,可以保持Presenter不变(符合面向对象编程的特点)View只应该有简单的Set/Get方法、用户输入、界面展示的内容,此外没有更多内容。低耦合:Model和View的解耦,决定了该特性。
6、MVP的优点?
- 低耦合:Model、View层的变换不会影响到对方。
- 可重用性:Model层可以用于多个View。比如请求影视数据,可能有多个页面都需要这个功能,但是Model层代码只要有一份就可以了。
方便测试:可以单独对Model层和View层进行测试。
7、MVP的缺点
MVP的中使用了接口的方式去连接view层和presenter层,如果有一个逻辑很复杂的页面,接口会有很多,导致维

本文介绍了Android面试中常见的架构模式MVC, MVP, MVVM,包括各自的概念、优缺点及组件化、模块化的相关问题。通过分析,帮助读者理解和区分这三种架构模式在实际开发中的应用。"
132440631,19671618,wxWidgets:创建自定义控件的cpp子类化教程,"['wxWidgets', 'GUI编程', 'C++']
最低0.47元/天 解锁文章
1397

被折叠的 条评论
为什么被折叠?



