面试题

2020-07-13  本文已影响0人  小赵不在

一、MVC和MVP的概念、优缺点

1.概念:

MVC和MVP都是一种框架设计思想。他们都有Model层View层,model层是处理数据,包括数据库、网络请求,view层是展示数据,不同的是MVC中的C表示控制器(有点像中央控制器,M层和V层的交互由C层转发)。在MVP中P Presenter(主持人),是辅助协调M层和V层间的通信。和MVC中的C有点类似,但是在MVC中M层持有对C层的引用,而在MVP中M层不持有C层的引用,是通过回调callback的方式把数据交给P层。他们最不同的一点是MVP采用了契约类也就是接口的方式来约定各个层之间的通信方式

MVC的优点:

MVC的缺点:

因为MVC中,V层是activity/fragment+xml,C层也是activity/fragment,所以就导致了随着硬件的发展,软件也越来越庞大、复杂,随着软件的迭代,activity/fragment里的代码越来越多,就会导致不好解耦,越是到后期,越不好维护和扩展,经常是改动一个地方其他很多地方也被修改,不利于单元测试

MVP的优点:

MVP的缺点:

虽然MVP优点很多,但是它也有缺点,缺点就是需要定义大量接口
所以MVP对于MVC来说,降低了耦合度,实现了我们软件开发中的高类聚低耦合开闭原则(对扩展保持开的态度,对原有代码保持闭的态度)

上一篇 下一篇

猜你喜欢

热点阅读