当前位置: 移动技术网 > IT编程>软件设计>设计模式 > MVC、MVP、MVVM 模式对比

MVC、MVP、MVVM 模式对比

2019年03月11日  | 移动技术网IT编程  | 我要评论

城口教育,苍井空高清图片,遗传学歌剧

  mvc、mvp和mvvm这些开发模式为了分离视图(view)和模型(model)而提出来的,直白说就是为了前后端分离。

  1. mvc(model view controller)模式

  mvc是比较直观的架构模式,即用户操作 → view(负责接收用户的输入操作)→ controller(业务逻辑处理)→  model(数据持久化)→ view(奖结果反馈给view)。

  mvc使用非常广泛,比如javaee中的ssh框架(struts+spring+hibernate)、.net中的asp.net mvc框架。

  2. mvp(model view presenter)模式

  mvp是把mvc中的 controller 换成了 presenter,目的是为了完全切断 view 跟 model 之间的联系,由 presenter 充当桥梁,做到 view-model 之间通信的完全隔离。

  asp.net中的 web froms 技术即支持mvp模式,因为事件驱动的开发技术使用的就是mvp模式。  控件组成额页面充当 view,实体数据库操作充当 model,而 view 和 model 之间的控件数据绑定操作则属于 presenter。控件事件的处理可以通过自定义的 iview 接口实现,而 view 和 iview 都将对 presenter 负责。

  3. mvvm(model view viewmodel)模式

  如果说mvp是对mvc的改进,那么mvvm则是完全的变革。mvvm是将“数据模型、数据双向绑定”的思想作为核心,因此 view 和 model 之间没有联系,而是通过 viewmodel 进行交互,而且 model 和 viewmodel 之间的交互式双向的,所以视图数据的变化会同时修改数据源,而数据源数据的变化也会反应到 view 上。

  mvvm模式优点有以下几点:

  • 视图层低耦合
  • 各种代码写成控件后可重用
  • 前后端分离明显
  • 便于测试和部署

 

  本文参考了 张帆 老师对几种开发模式的见解(张帆,资深全栈开发工程师,有多年的项目设计和web开发经验。)

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网