浅谈android应用之MVC & MVP

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/angelsmiling/article/details/102764441

1. 前言

这边首先需要说明的学习MVC与MVP的必要性,以下皆为个人理解,仁者见仁智者见智:
因为MVC与MVP是开发框架会比较常见的两种开发架构,通常选择其中之一作为开发架构,并且它还通常结合多种设计模式。开发架构与设计模式两者协同组合成高可靠,高性能,高安全,并且可持续维护的框架。

这里不往下展开了讲,可以根据自己的理解去设计属于自己的框架。这篇文章主要讲的依旧是MVC以及MVP的理论相关的知识,尽量讲的比较简单易懂。

2. MVC

MVC架构是Model,View,Controller的首字母的集合体。我们可能最开始写android应用的时候接触最多的就是这种开发架构,当时大家可能已经在用了,只是不知道这种开发模式其实就是用了MVC。

MVC很简单,就是activity既作为view也作为了controller,这也就说明了activity它既负责view的显示,也负责控制model数据的操作,也负责对接收到的各种事件的处理,这种开发架构对于新手来说会比较好理解,使用比较方便。

但这种开发架构有一个最大的问题就是如果项目稍微复杂一些,就会导致activity的代码会非常冗杂,可能开发者自己都不愿意接下去去开发了,更别谈后期迭代维护了。

这种开发架构适合的是写demo快速验证的场景,正常线上开发并不会使用。

因为这个确定,后面就引入了另外一种比较规范的开发架构:MVP,这也是我下面将要说的。

3. MVP

MVP是Model,View,Presenter的首字母缩写。与MVC架构最大不同之处是以Presenter层代替了Controller层。有了Presenter,Model,View完全解耦合,activity的话就只负责显示view,model的话将会通过presenter告诉activity。

通过这个种方式的话,大大提高了代码的可读性,以及后期代码的可维护性。

4. 代码demo

MVC这边不作示例,也不需要更多的研究,MVP的话可以参考网上的示例,入手比较简单,难点在于结合多种设计模式设计框架这一步。

5. 后记

写的比较简单了,如有疑问,可在评论区留言。

猜你喜欢

转载自blog.csdn.net/angelsmiling/article/details/102764441
今日推荐