MVC,MVP,MVVM开发模式对比

MVC,MVP和MVVM这些模式是为了解决开发过程中的实际问题而提出来的,它们目前作为主流的几种架构模式而被广泛使用。

1,MVC(Model View Controller)模式

      MVC是比较直观的架构模式,既用户操作-->View(负责接收用户的输入操作)-->Controller(业务逻辑处理)-->Model(数据持久化)-->View(将结果反馈给View)。

      MVC使用非常广泛比如JavaEE中的SSH框架(Structs+Spring+Hi-bernate),ASP.NET中的ASP.NET MVC框架。如图

2,MVP(Model View Presenter)模式

      MVP是把MVC中的Controller换成Presenter(呈现),目的就是为了完全切断View跟Model之间的联系,由Presenter充当桥梁,做到View-Model之间的完全隔离。

     例如,.NET程序员熟知ASP.NET中的Web Forms(WF)技术既支持MVP模式,因为时间驱动的开发技术使用的就是MVP模式。控件组成的页面充当VIEW,实体数据库操作充当Model,而View和Model之间的控件数据绑定操作则属于 Presenter。控件事件的处理可以通过自定义iView接口实现,而View和iView都将对Presenter负责。如图所示为经典的MVP模式

3,MVVM(Model View ViewModel)模式

      如果说MVP是对MVC的进一步改进,那么MVVM则是对思想的完全变革。MVVP是将“数据模型的数据的双向绑定”的思想作为核心,因此在view和Model之间没有联系,而是通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据变化会同时修改数据源而数据源的变化也会立刻反应到View上。

   这个方面典型的应用有.NET的WPF,以及JavaScript框架Knockout和AngularJS,vue.js。如图为经典的MVVM模式。

  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值