众所周知,MVP是MVC模式的一种变体,在Android开发中是一种常见的设计模式。那么MVP到底是什么呢?
MVP全称为Model-View-Presenter,它把传统的MVC模式分成了三个部分:模型层(Model)、视图层(View)和呈现层(Presenter)。
在MVP模式中,View负责显示UI,它只负责绘制UI元素,并将所有用户操作的请求通过Presenter层中间人来处理。Presenter是View和Model之间的中间层,负责处理业务逻辑并将Model层的数据更新到View上。相比之下,Model层则负责数据的存储和读取操作,不对其它层做任何依赖性操作,所有的更新操作都通过Presenter层来完成。
MVP模式主要利用接口和抽象类来进行开发,这一点是更加符合面向对象原则的,使得整个应用层和数据层分离,界面逻辑和数据逻辑的分离加深。而且模型和视图的干净分离,加深了代码的可读性和可维护性,从而大大提高了代码的可重用性和可拓展性。
MVP模式通过干净、清晰的分层进行开发,减少了各层间相互依赖性,实现了彻底的解耦,使得代码更加健壮,更加易读、易懂、易维护。