首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

小节MVC和MVP

2024-12-20 来源:花图问答

最近也是看了各种关于框架的文章,对mvc和mvp有了更好一点的认识,有必要做做笔记了,首先就是我们在安卓开发中经常用到的所谓的mvc模式,为什么是所谓的呢,下面咱们谈论一下:

MVC:view代表安卓中的xml布局文件,直接和用户打交道,展示给用户, control即activity和fragment,在整个模式中起着组织的作用,model即一些数据库操作和一些网络操作;view所能做的事情太少,基本的逻辑都靠conroller来做,view负责接收用户事件,并将事件发送给controller层,controller根据具体的业务逻辑负责调起model,拿到结果更新view。由于view对model的依赖,从为controller的逻辑非常复杂,在我们写安卓代码的过程中自己也会意识到这一点,不断的在actiivty中或者fragment中加逻辑写代码,代码的可读性非常差,有时候会可以的将一些逻辑抽取出来写到外面,比如activity中包含adaper的时候为了减少activity中的代码复杂度我们会可以的将一部分逻辑代码写到adapter中,来使代码阅读起来更清晰。安卓中的mvc个人感觉还是很松散的,没有那么严格的要求。

MVP:相信大家对这个流行了一段时间的设计模式肯定是听过的,主要来说说他的优点

1:解耦,也是他最大的优点,可以将各个层面之间的耦合性降到最低

2:代码可读性好,我们将view层的行为全部抽象出来,所有的业务逻辑有presenter来操作,presenter持有view的引用,操作完成后回调view做出响应。model中的代码一般不怎么变化。我们在维护代码的时候很容易根据抽象出来的接口来理清逻辑。

3:维护性强:当view和model做出改变的时候我们只需要重新设计出一个presenter来满足需求,当然如果可以在原有的presenter上修改也是可以的。

显示全文