MVC和MVVM

1 篇文章 0 订阅

一、MVC

        mvc模式,软件代码可以分为3个部分: View(视图),用户界面;Controller(控制器),业务逻辑;Model(模型),数据保存

        各部分之间的通信方式如下:

        1、View传递指令到Controller

        2、Controller完成业务逻辑后,要求model改变状态

        3、Model将新数据发送给View,用户得到反馈

        所有通信都是单向的

二、MVC的互动模式

        接受指令时,MVC有两种方式。一种是通过View接受指令,传递给Controller

 

        另一种是通过controller接受指令

 

三、MVC实际应用 Backbone

        实际项目往往比较灵活,以Backbone为例

 

        1、用户可以向View发送指令(DOM事件),再由View直接要求Model改变状态;

        2、用户也可以直接向Controller发送指令 (改变 URL 触发 hashChange 事件),再由Controller传递给View

        3、Controller非常单薄,只起到路由的作用,而View很厚实,业务逻辑都在View中。所以Backbone取消了Controller,只保留一个router

四、MVP

        MVP模式将Controller改为了Presenter,同时改变了通信方向

1、各部分之间的通信都是双向的

2、View和Model不发生联系,都通过Presenter传递

3、View非常单薄,不部署任何业务逻辑,是被动视图(Passive View),即没有任何主动性,而 Presenter非常厚,所有业务逻辑都部署在这里

五、MVVM

        MVVM将Presenter改为了 ViewModel,

 

         它和MVC和MVP的区别是,它采用了双向数据绑定,View的变动会反映在 ViewModel中,反之亦然。如 angular

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值