Ext学习随想

前段时间在同事的介绍下,进入了Ext的殿堂。经过几天摸爬滚打,以有小成,并立马运用到项目中去展示它的威力。
不过同我过去学习使用的js类库一样,都存在一个令人十分头疼的问题,就是开发效率的问题,失去智能语法感应,感觉就像回到求学时期在Linux下用vim开发C一样,设计以外编码工作负担过于沉重,面对项目每周过千行代码的工作量,再加之还有各种测试和质量控制,恐怕会吃不消。说到这里不禁想起几年前一位印度同行说了一句很“惭愧”的话,“我们每月只能写一百来行代码而已~”,我听了也真够惭愧的。不能在阳光下成长,就只有在混沌中闯天下,国情需要没有办法,每周过千行也可以很pattern很design,只是个你呕了多少心沥了几斤血的问题而已,所以为何照片中的国外同行多似笑口佛,国内同胞多宛如地狱天使,其中的辛酸与唏嘘也许只有我们自己心里明白 ~,~
话题不知不觉飘远,言归正传,话说到芸芸众生中的一个小Coder,即我,正当为开发效率而发愁的时候,他找到了一些封装了Ext的控件库来玩弄,如Coolite(http://coolite.com/)和ExtJsExtenderControl(http://www.codeplex.com/ExtJsExtenderControl)等等,效果不错,不过毕竟现阶段它们都没有百分百重现Ext里面的所有风采,而且也只限于UI上,用起来有时候有不得不回到编写纯Ext的代码上,这样混乱的代码很是令人心生厌恶之情。所以萌生了要做一套封装了Ext的类库,去重现所有Ext的特性,这样就可以利用上IDE带来的便捷,又可以拥抱Ext这位伊人,真是人生一乐也。
后来回家G了一下,发现原来已有勇士为人民群众开辟了这片河山(http://code.google.com/p/extsharp/),心中不禁大喜,马上Down来搬弄搬弄,谁知下载两个用例的源码都出现编译缺少组件等等诸多问题,搞了两个小时都没有办法调整好,上网查了一下,也看到不少人指责作者的不负责任的微词,心里顿时也出现了某些小孩子不应该学的话,无奈正想抛弃它的时候,回到该开源项目发布的主页和wiki,才发现原来作者早就把使用说明说得明明白白,只是我之前没肯花半分钟时间认真阅读而已。
我要承认我有罪,一是不应向网易的"淫"民学习,看贴标题就直奔讨论区去头头是道;二是不应做只小绵羊,跟着别人指三道四,不明白就搬弄是非;三是不应律人宽己,这里想起同事对待开源免费软件的一句话,“人家再不好,但又免费又开源,你既然用得了人家,还有什么好说的”。
废话少说,回过头来我们看看ExtSharp这个相当出色的项目,主要组成部分是一个Parser的工具,利用该工具去解析Ext的源码,生成建立在ScriptSharp(Script#)[此乃又一牛B人事的令我窃喜而敬服的项目,有空再谈谈它 ^_^]上的ExtSharp类库源文件,从而达到封装Ext的目的,大体过程如下:
Ext源码 -》通过Paser工具解析 -》生成ExtSharp类库源码 -》项目中使用ExtSharp类库 -》编写代码自动调用ScriptSharp去解析成Ext的原js,达到封装Ext为C#类库的目的
回看当天我用吃一碗拉面的时间想出来的方案
按照Ext源码编写相同关键字的实体类和方法 -》项目中使用生成的类库 -》通过解析类库,在客户端用注册js的方法来使用Ext
相比之下,我的想法是有很多不足。
首先,不用Paser的方法,那么每次Ext类库的变动,代码都要做大调整,这样的程序地震,显然与design pattern相违背;其次使用注册js的方法,显然比生成原生js的方法要来得笨拙,而且耦合度陡然增高不少,相当不OO,真可谓之垃圾设计也,以后定要以此为鉴!


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值