MVVM MVC MVP的区别

118 阅读1分钟

MVC开发模式和框架

典型的框架就是Spring Structs

image.png

分层架构,前端只完成了后端开发中的view层

缺点:

  1. 前端页面开发效率不高
  2. 前后端职责不清

web2.0 自从Gmail的出现,ajax开始风靡全球,前后端职责更清晰,

架构图:

image.png 减少了服务端负载和流量消耗,用户体验也更好 前端的MVC应运而生

MVC

前端的MVC与后端类似,具备着View、Controller、Model

  • Model:负责保留应用数据,与后端数据同步
  • Controller:负责业务逻辑,根据用户对Model数据进行修改
  • View:负责视图展示,将model中的数据展示出来 image.png 开发并不灵活,产生另一种模式

image.png

会产生数据混乱

image.png view比较庞大,controller比较单薄,可维护性太差

MVP

P指的是Presenter,可视为一个中间人。他负责view和model之间的数据流动,防止view和model之间直接交流

image.png

presenter体积太大,维护性变差

MVVM

image.png

  • viewModel实现一套数据响应式自动响应Model数据变化通过事件监听响应View中用户交互修改Model中的数据
  • viewModel中减少了大量DOM操作代码
  • MVVM在保持View和Model松耦合的同时,还减少了维护它们关系的代码,使用户专注于业务逻辑,兼顾开发效率和可维护性

总结

image.png