MVP、MVC模式的区别

1. MVC模式

MVC模式的M指的是Model,也就是模型数据层;V指的是View,也就是界面(UI)层;C指的是Controller,即逻辑层。
M:即Model,数据层,负责处理业务逻辑,监听网络或数据库接口。
V:即View,界面(UI)层,显示来源于Model的数据。
C:即Controller,逻辑层,传递用户的交互和更新Model的数据。

112233.jpg

不足:在Android中,Activity/Fragment既有View的性质,也具有Controller的性质,导致Activity/Fragment很重。MVC中,View会与Model直接交互,所以Activity/Fragment与Model的耦合性很高。

2. MVP模式

MVP模式将MVC模式中的Controller变成Presenter,同时改变了通信方向。View与Model隔离,Presenter负责View层与Model层的交互。

223344.jpg

流程描述:首先View收到用户的操作,View把用户的操作交给Presenter,Presenter直接操作Model进行业务逻辑处理,Model处理完毕后,通知Presenter,Presenter接收到通知后,再去更新View。

不足:需要创建大量的接口。

发表回复

后才能评论