Javascript MVC框架简介

本文介绍了JavaScript MVC框架的基本概念,包括MVC、MVP和MVVM等模式的特点与区别,通过对比帮助初学者理解这些模式的实际应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://speakerdeck.com/addyosmani/digesting-javascript-mvc
这里看了一个关于js mvc框架的ppt,作者是一位google的工程师,感觉挺全面挺有意思,适合像我这种入门级人士,简单翻译一下,有很多术语是猜的,如有不对还请各位看官指正。

当前有超过40个Javascript MVC框架,但是其中很多没有使用MVC。

设计模式理应是一个通用词汇,但大多数人却有自己的定义

MVC:提供一个简洁的三个概念的分离, 数据(models),展现(views),用户输入(controllers)

MVP:
与MVC类似,但是极度关注解耦UI发展。
P(presenter)扮演了controller的角色,使用View处理用户输入

P同时检索数据(model),为数据格式化,用于展现

MVVM:类似MVC,ViewModel提供了 Model 和 View之间的数据绑定

MV* 借鉴了其他MV模式,没有特定的名称。开发者通常为了适应特定的项目去使用MV*模式,同样的模式其他项目不见得适用。


使用典型的MVC模式,理论上来说效率更高,因为这个方法是经过实践检验的,经典MVC模式参见Smalltalk的MVC模式如下

Models

  • 代表域里特定的知识和数据。
  • 通知他们的观察者
  • 独立于View,被Controller修改
  • 两种模式:

    • Domain model:数据代表app核心概念,比如书,合同,朋友
    • Application model:对象知道View的存在,而且View需要一些数据

Views

  • 通常关注于UI,但并不一定是
  • 必须知道Models的存在并且可以关注到他们
  • 必须知道一些Model属性,他们关注的是什么
  • 多个View可对应同一个Model

Controllers

  • Controllers处理输入,Views处理输出
  • Controller修改Model状态,并不直接通知View
  • 一些实现混合了Controller和View

如何工作?

  • 乱代码 - Models:哪些唯一数据在我的app里展现
  • 乱代码 - Views: 用户看到什么,做什么?
  • 乱代码 - Views: 哪些重复的展现可以作为js模板
  • 乱代码 - Controller: 处理用户交互

Backbone MVC的实现

*原文举了若干例子,这里只截backbone

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值