MVP与MVC的区别

时间:2023-03-09 04:23:04
MVP与MVC的区别

MVP的主要思想就是解耦View和Model

先大致从图上看一下MVP和MVC又什么不同;

MVP与MVC的区别

MVC:

  • M : Model 数据模型,就是对数据的封装和保存;
  • V : View 视图界面,相当于布局文件;
  • C : Controller 控制器,就是Activity和Fragment这些;

View传送指令到Controller,Controller完成业务逻辑后,改变Model的状态,Model将新的数据发送到View;这就是MVC的大致逻辑;

MVP:

  • M : Model 数据模型,就是对数据的封装和保存;
  • V : View 视图界面,相当于Activity用来和用户交互;
  • P : Presenter 交互者,Model和View的中间枢纽,处理用户交互的逻辑;

View不直接与Model交互,而是通过与Presenter的交互来和Model间接的交互;View和Presenter的交互式通过接口来进行的;简单的来说就是面向接口编程;