MVP架构浅析

MVP是从经典的模式MVC演变而来,他们的思路有相似的地方,如:Controller/Presenter负责逻辑的处理,Model负责提供数据,View负责显示。作为一种新的衍生模式,MVP和MVC有着一个重大的区别:在MVP中View并不直接与Model交互,他们之间的通信是通过Presenter来进行的,所有的交互都发生在Presenter的内部,而在MVC中View会直接从Model中读取数据,而不是通过Controller。

如图:

MVP模式的有点

在android开发中,Activity和Fragment并不是一个MVC模式中标准的Controller,它们的首要职责是初始化用户界面,并负责与用户操作交互,随着界面和业务逻辑复杂度的提升,Activity的职责不断增加,以致变得臃肿不堪。当将其中负责的业务逻辑处理移至另外的类(Presenter)中时,Activity or Fragment专心处理数据的显示和用户的交互,也就是MVP模式中View层的职责,其建立UI元素与Presenter的关联,同时也会处理一些简单的界面逻辑。


优点:

*降低耦合度

*利于测试

*代码复用

*数据隐藏

*代码灵活性

采用MVP模式进行Android开发的实例

链接:https://github.com/Tiny-Times/android-mvp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章