打造属于自己的MVVM框架: 1.什么是MVVM

MVVM是一种基于MVC的设计模式,起源于微软的WPF,现广泛应用于JavaScript框架。本文介绍了MVVM的Model、View和ViewModel,强调了其将UI与逻辑分离的优点,同时也指出在特定情况下可能存在的问题,如ViewModel的复杂性。作者计划基于KnockoutJS实现自己的MVVM框架。

MVVM(Model View ViewModel)是一种基于MVC的设计,开发人员在HTML上写一些Bindings,利用一些指令绑定,就能在Model和ViewModel保持不变的情况下,很方便的将UI设计与业务逻辑分离,从而大大的减少繁琐的DOM操作。

原文请戳
原码请戳

起源

MVVM这个概念最是在2005年,由微软的工程师John Grossman在其博客中提出,最初这个概念是用在微软的WPF上的。直到最近几年,MVVM这种设计才被Javascript所实现,并产生了许多框架,如 KnockoutJS, Kendo MVVM 和 Knockback.js,而这些框架的社区都非常的活跃。

什么是MVVM

  • Model

    作为MV*家族中的一员,MVVM中的M代表着Model。Model代表我们整个webapp所需要的数据模型,一个典型的例子就是用户信息Model,它应该含有(姓名,年龄等属性)。Model含有大量信息,但它并不具有任何行为逻辑,它只是数据,因而它不会影响浏览器如何展示数据。

  • View

    View这个词出现频率最多的地方应该是MVC。在MVC设计中,View是唯一与用户交互的地方,或者说它是Model变化后的直观反映。在MVVM中,View被认为是主动的而非被动的。一个被动的View时只它只能任由“他人”(Controller)摆布,自己却不能改变任何东西,如利用Jquery操作DOM。而MVVM中View是具有主动性的,因为它包括了一些数据绑定,事件,和行为,这些都会直接影响Model和ViewMod

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值