2008 Come on as you are~
ExtJS 设计模式 之一 (单例)
Extjs 发展至今,传承了YUI的伟大精髓, YUI得到了Douglas Crockford(任职于 Yahoo! 的一名 JavaScript 传道者和架构师,他是全球最有造诣的 JavaScript 语言专家之一,Blog:http://www.crockford.com/) 大师的赞同,而ExtJS也是将YUI的模式脚本编程学习使用的淋漓尽致,并且还给它做了几套华丽的CSS嫁衣…., 而在ExtJS越发耀眼的同时,我等初学者在使用ExtJs的时候也是晕呼其呼。(好在2.0 推出之后,官方的文档,像雨后春笋一样,开始覆盖到方方面面。)
其实,拨开ExtJS华丽的外衣,翻阅其体内精致的代码,不难发现一些我们耳熟能详的设计模式。
在早期1.0,1.1的好多例子中,我们会看到这样风格的代码。
var Oo= function(){
var x;
var y;
return{
a:function(){
…
},
b:function(){
…
}
}
}();
咂一看,不是我们能理解的方式, function(){}(), 是何意?。
//()在这里,意味着方法已经执行,并且return里面的已经产生, 这样可能很难理解,那等同与执行 function oo(){},这样是否好理解些了?
BTW :这里要引入JavaScript的一个高级概念,“闭包”。(具体内容参考《JavaScript The Definitve Guid,5th Eddion》Section 8.8 –Function Scope and Closures ,也是被Douglas Crockford推荐的为数不多的两本书籍之一。), 当然不急着去翻,先把我的废话看完。
好了,看这种使用别扭的使用方式, 而这种方式,在我们的页面,或者其他类中, 调用Oo的a方法的时候,形式如下
Ext.onReady(Oo.a);
对,正是这样的一种JS编程方式,被Douglas [...]
工作中RSA6使用的功能挖掘的差不多的时候,一直遗憾其不支持 JDK5,导致这么个利器,就工作的时候霸占着整个资源。 玩些开源还要另开Eclipse3.2x,可怜的内存。
IBM 12月发布了V7,却一直没0Day到,今天终于电驴到了。小驴跑的真欢畅。
关注一下:
http://www.ibm.com/developerworks/cn/rational/sdpv7/
由 Ajax In Action 一书收集提供的ajax 库,将它们搬了上来。
尽管这些信息已经算是比较老的,但是Ajax库的积累和开发并非一蹴而就,需要一个时段的沉淀和积累。
如下: 其中有我们非常熟悉的 DWR,Dojo,Prototype,ScriptAculous,Qooxdoo,RubyOnRails(主要集成了Prototype和Scriptaculous) 都依然在活跃着不断更新和迈进。
Accesskey Underlining Library 开源
www.gerv.net/software/aul/
ActiveWidgets 商业产品,可免费下载
www.activewidgets.com
Ajax JavaServer Faces Framework 开源 (Apache GPL)
http://smirnov.org.ru/en/ajax-jsf.html
Ajax JSP Tag Library 开源
http://ajaxtags.sourceforge.net/
Ajax.NET (2005)未说明学科,可免费使用
http://weblogs.asp.net/mschwarz/
AjaxAC 开源产品 Apache2.0
http://ajax.zervaas.com.au
AjaxAspects 免费使用有原码
http://ajaxaspects.blogspot.com
Michael Mahemoff (2005) 开源 产品
http://ajaxify.com/run/testAjaxCaller
AjaxFaces 开源产品 Apache
http://myfaces.apache.org/
BackBase 商业产品,有免费的社区版
http://www.backbase.com
Behaviour 开源产品
www.ripcord.co.nz/behaviour/
Bindows 商业产品
www.bindows.net
BlueShoes 商业产品,有免费版本
www.blueshoes.org
CakePHP 开源产品
http://cakephp.org/
CL-Ajax Richard Newman (2005) 开源产品
http://cliki.net/cl-ajax
ComfortASP.NET 预发布商业软件,有免费版本
www.daniel-zeiss.de/ComfortASP/
Coolest DHTML Calendar 开源产品,有商业支持
www.dynarch.com/projects/calendar/
CPAINT (跨平台的可异步方式通讯的工具包) GPL许可
http://cpaint.sourceforge.net
Dojo Alex Russell(2004) 开源产品
http://dojotoolkit.org
DWR (直接远程调用 ) 开源产品 Apache许可
www.getahead.ltd.uk/dwr
Echo [...]
在一大堆生活琐事中很快的消磨到了06年年底,30就快来临,却发现还有很多事要办,难免让人觉得有点无为。。。 生活的确占了生命中很大的意义,但是,工作和你的职业生涯如果没有半点成就,也会让人觉得人生索然无味。
不过,一切的顺意都要靠自己的努力去争取。
06年,Spring和Ajax占尽了风头,一切由Spring所支持的项目,在这个年度,迅速走红。 一切已经走红的项目,被Spring支持了也越来越红。而Ajax让客户体验发挥到了极致,也让人逐渐了解到了那些破费心血的Compents,Framework….诸如Dojo,Dwr,Rico,Prototype,Scriptaculous,而,在人们面前凉了很久(10年 - 97年诞生的1.1版本)的Javascript也被空前的掀起一股深入学习的热潮。
然而历史的每次推动,都是以新老事物的替换来做标记的
。当我们在热衷这些迅速走红的事物中组建体味到软件开发的优雅事,很多我们以前执着过的事物,开始让人忘淡。—-
记得04,05年我们都纷纷谈论着设计模式,然而有人也渐渐在复杂的体系中自缚。 当我们谈论敏捷,谈论XP,谈论简化开发,谈论高效编程,谈论简单即美的时候, 开始不造轮子的时候,我的工作开始越来约追求简单,约来约注重高效。 我们的谈论我们的开发方式似乎有了些变化。
也许我现在还不能什么是主流,什么是淘汰。
前几天一个朋友很高兴的给我的讲诉,html可以走了,复杂的ajax可以不玩了,我似乎无法一下子接受这种刚成为主流的东西被遭到如此的评价。。。 接下去,我也渐渐开始尝试着Flex 做一些东西。,当我把简单的Compents托拽为一个应用时, 在体味.js和html在不同浏览器之间的支持要做那这个那个的处理时,,Flash 这种方式不觉已经开始在各种场合登场了。随着HttpService,WebService,DataSerice这些的很方便的支持,FLex无疑成了UI的一个有利工具,相比之下Ajax显得略微的复杂,稍微的逊色。于此同事M$也在推着他.NET2.0下的Expression, 顿时感觉,下一年将会笼罩着RIA的硝烟。。 直到前天,在孟岩和韩磊的博客上看到 “这一天终于来了”,,于是,我跟着承认,有些东西是该退出历史舞台了。。
好友Leemaasn还保持联系,这位在我看来的技术天才很是乐观,他说的对,“只要我们的思想能能与时俱进,也就不用担心那么多了”,,我们的年龄的确会越来越老的,但是利用这些年的经验和积累,我们会更加知道我们需要什么。
业务领域成了软件开发的一根救命稻草,当技术我们更新不上的时候,当理论我们不够扎实的时候,我们能依靠这些年来的经验, 来去比知道做出的软件更多的功能,看到架构的不足和优点, 比将要使用的软件的客户知道的更多使用和需求,激发潜在需求。。。。
那,我们依然是主流。
近日,对XQuery 做了稍微的学习。
XQuery 是XMl查询语言, 目前版本为1.0
XML最大的两个特点,即定义了构化化的文本,可用于文档结构转换。进来用的较多的 XML-Object,XML->HTML XML->WML, XML->XML, XML-DATABASE,WSDL…
直接拿XQuery最流行的Query语言SQL来比较。
Xquery 相应的就是查询 结构化的XML的一种语言,同时也可对XML进行解释和转化。
SQL执行返回的是一串表结构化的数据,XQuery执行之后返回的是XML结构化的数据。所以有时候,我怎么看XQuery像存储过程。
XQuery可以用来做XML数据抽取(基于Xpath2.0,同XSLT2.0)
XQL片断:BTW:注释也有意思 (:--注释--:),左看右看都象个笑脸
for $doc in collection($docs)//booklist/book[contains(title,$title) and (year=$year)
XLST2.0 与 XQuery
XSLT与它也非常的相似。同样上面的查询,也有collection函数来实现遍历
一开始,误以为XQuery是XSLT的替代品,而事实上经查阅,XQuery和XSLT2.0规范是先后进行的,两者都是基于Xpath2.0, 应该各有各的用途。
总而言之,XQuery的的语法看起来更相SQL,更好阅读一点点。。而XSLT偏重于那种模板的风格。
因此,如果数据杂乱无章的话,用Xquery更好一点。非常适合,我们一大堆数据信息中数据的搜取和转换,应为这个合我们拿SQL取出数据来做DTO的开发习惯。
XQUERY的设计和应用。
现实中,XQuery也越来越成为一个重要而实用强大的语言。有IBM,Oracle,BEA的老大们照着,前途甚好,而SOA的产品中间层也都用XQUERY来做信息转化和缓存。
而新的数据库为了顺应SOA趋势,也加强了XML存取,新的数据库如 Oracle10G,Db29,SqlServer2005,还有MySql5等都也已经支持了Xquery.
由于XQuery 工作没用起草指导XQuery设计的正式原则表,所以对开发人原来讲,一切都要从Best pratice总结来。。也可以踩别人的肩膀。总结下来是。 组合性,闭包,模式一致性,XPath 兼容性,简单性,完整性,普遍性,简洁性,静态分析:(可参下考文献)
而我,继续期望能用一种更优雅的方式来编程 ,XML-XQuery- XMLBEAN 来遵照IBM,BEA的新定义SDO来做应用。
今后开始实践。
部分工具
开发工具:Stylus Studio 2006 (http://board.verycd.com/t356303.html)
解析器 Saxon (http://www.saxonica.com/)
参考文献留个底,
XQuery 简介
XQuery 与 SQL: 变化万岁!
使用 XML: XSLT 2.0 和 XQuery 对比
XQuery from the Experts: 影响 XQuery 设计的因素
偶的Blog 不结群,不跟风,如有雷同,存属巧合~
主要目的是请诸位相信:这个世界上,巧合的事情很多....