MVC&MVVM

参考:MVC,MVP 和 MVVM 的图示

MVC

Model View Controller

没有组织的代码如同「意大利面条」,长长短短,互相交织,你中有我,我中有你。

设计一个程序的结构,这是一门专门的学问,叫做”架构模式”(architectural pattern)。
MVC模式就是架构模式的一种。

MVC 思想
程序不论简单或复杂,从结构上看,都可以分成三层

  • M 专门负责数据
  • V 专门负责表现
  • C 负责其他逻辑

这三层是紧密联系在一起的,但又是互相独立的,每一层内部的变化不影响其他层。每一层都对外提供接口(Interface),供上面一层调用。这样一来,软件就可以实现模块化,修改外观或者变更数据都不用修改其他层,大大方便了维护和升级。

具体到JS代码:

  • M 专门操作远程数据的代码:存储数据、请求数据、更新数据
  • V 专门呈现页面元素的代码:负责渲染 HTML(可接受一个 data 来定制数据)
  • C 其他控制逻辑的代码:负责调度 model 和 view

    一个例子

MVVM

这里写图片描述

采用双向绑定(data-binding):View的变动,自动反映在 ViewModel,反之亦然。Angular 和 Ember 都采用这种模式。

扩展:
那些前端MVVM框架是如何诞生的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值