ASP.NET MVC4 结合MVVM的应用初探(一)——国产大牛MVVM框架avalon应用

【前言】

长久以来,凭借一股热情,作为一个半路信佛(尚未出家)的中年野和尚,一直在自学asp.net mvcX,希望有朝一日能写出一个简单的小微企业内部使用的动态网站出来——这是我粗浅的理想。

紧跟微软是我的选择,这是因为微软太牛逼,敢于把任何复杂的东西傻瓜化(效果另论),这种牛气冲天的精神,我表示深深折服。何况我现在盗版的庞大的VisualStudio系列用着,何止一个爽字了得(VS也有express版的,懒得下)。当然,有免费的我尽量不用盗版,比如sqlserver我就只用express版……扯远了,支持正版。

【为什么MVVM】

asp.net mvc从3.0到4.0(现在5.0也出来了),感觉写网站确实比从前要方便多了。技术更新速度也挺快。尤其是mvc3让人感动地引入了razor语法,再写view时那抑制不住骚动的心,当浮一大白。

因MVC关注点分离的特性,写view时就其实有更多便利的方式可供选择,也就是说,其实用微软自己的razor语法已经很方便了,但真正实际开发时,为提高效率等,仍然迫切需要配合jquery来做好前端。而jquery近些年的大量使用,令不甘寂寞的程序员们大为光火,如你所知,程序员是最懒的一帮子人了(他们为了节省时间哪怕按毫秒记,节省操作哪怕能少点一下鼠标,废寝忘食,以变态的方式改进程序哪怕一点点进步,敬佩),他们在以“懒”推动着技术的进步。他们称用Jquery陷入了dom操作的泥淖,必须尽早拔出脚来,我们的征途是星辰大海。

于是,各种MVVM框架出来了(什么是MVVM,请度娘之),微软在asp.net mvc4中,也贴心地默认附上了knockout.js,这是微软矢志不渝搞傻瓜化的表现之一。可惜knockoutjs谈不上好用,我也大概找了一些资料,有不少东西难以理解,源码也根本看不懂。

除此之外,还有其它框架emberjs,还有高大上的angular等等,不一而足。这些东西都是好的,但对于我的征途只是门前菜地的中年野和尚来说,入门太费劲了。

【avalon】

博客园里有位大牛名叫司徒正美,他基于对knockout的深入研究(据说avalon的早期版本),写了一个MVVM框架:avalon,目前版本0.99x,我试用了一段时间,只想说四个字:牛逼死了。如果这个框架能让更多人应用,并且一统江湖千秋万代鸟生鱼汤,我还要再加四个字:请带上我。

avalon到底是什么呢?它是和knockout,angular等都有点儿像又不太像的,同步视图的东西。当然这个概念并不准确,但便于理解。avalon在asp.net mvc中的应用,简单来讲,就是view视图中,实现dom元素与数据的绑定,把程序员的关注点放到“数据”上,而不是“dom”上。对数据的更改,可以立即反应到页面表现上。

【第一个例子】

司徒大牛自己写的第一个例子如下:

 

复制代码
 1 
 2  
 3      
 4          
 5          
 6          
 7      
 8      
 9          
10
11

{{ w }} x {{ h }}

12

W:

13

H:

14
15 25 26
复制代码

 

我来解释一下:使用avalon的三板斧:

  1. 在view页面中引用avalon.js文件(asp.net mvc4也可以写到BundleConfig里)。

你可能感兴趣的:(ASP.NET MVC4 结合MVVM的应用初探(一)——国产大牛MVVM框架avalon应用)