fmvp和mvp的区别

编辑: 时间:2023-03-25 08:10:42

fmvp和mvp的区别

一、FMVP和MVP的概念和作用 FMVP和MVP都是MVC(Model-View-Controller)的变种模式,在Android应用程序的开发中都用得较多。

其中,MVP又可依据控制器的方式分为PAC(Presenter-Activity-Communication)和PM(Presenter-Model)两种方式,而FMVP是在MVP的基础上延伸出来的一种UI开发的架构设计。

MVP、PAC和PM这三种方式的作用都是进行业务逻辑和界面交互的分离,减少代码的耦合性,提高代码的可维护性。

二、FMVP和MVP的区别 1. 关于目的 MVP的目的是为了减轻Activity或Fragment中UI逻辑的代码高复杂度,将它们抽离出来,便于重用或复用以达到解耦的效果,使得UI展示层变得趋向被动。

FMVP则更注重整个UI开发过程的标准化和规范化,将它们模块化,重用实现更加明显。

2. 关于实现 MVP需要通过约束View中的问题来解决View层的问题,Presenter拥有View源数据,将这些数据传递给Model,然后来更新View。

整体实现的重心在Presenter层。

FMVP是在MVP的基础上增加了View层的抽象,View层不再与Presenter进行直接交互,Presenter绑定的是抽象的View,这个抽象的View则是被Fragment或Activity所实现。

整体实现的灵活性有提高。

3. 关于数据的存储 MVP中,数据是由View调用Presenter获得,Presenter通过调用Modle的方法来遵循业务逻辑,然后返回相对应的结果给Presenter,Presenter再将数据传递给View进行展示。

FMVP中,Presenter的数据推动是通过观察者模式和代理模式实现的。

Presenter完成数据的绑定和解绑,需要考虑列表项的复用和缓存数据的销毁,但由外部来决定缓存的销毁时间。

三、总结 FMVP相比MVP而言,其主要的变化就是抽象View,同时极力推崇模块化和规范化的设计,可以帮助开发团队提高开发效率和开发质量。

但是,对于一些小规模的项目来说,MVP的实现会更加简洁明了,也更容易上手。

语音朗读: