我是一个开发时间不久的程序员,在北京一家软件公司做电子商务平台的开发,介于自己开发经验不足,只是谈一谈自己对于开发过程中的一些经验和体会,希望各位高手给予指教。
我使用tapestry这个framework也只有短短的两个月时间,但是却深刻的体会到了它独特的魅力以及他给与程序员更大的自由。
tapestry是Apache的一个view层开源framework,对于大多数中国的程序员或者工程师来说,这也许还是一个陌生的东西,但其无限的优越性和巨大的潜力使得它将代替struts成为主流的view层开发framework(纯属个人意见)。
tapestry的设计想法近似于java的oo设计概念,完全不同于struts的,虽然它也是mvc的framework。在struts中,我们最少要写一个jsp页面来对数据进行表现,需要写一个actionForm来对整体的流程进行控制,需要写一个业务逻辑bean来对所传的数据进行业务处理。从jsp的角度来说,我们就是把一段一段的java代码镶嵌进了html页面中,而对于服务器来说,需要翻译jsp页面为一个servlet,在客户使用的时候进行服务。
tapestry的开发流程是这样的:首先,我们要写一个html格式的页面模版,这个页面模版中,我们只需要在必要的位置上增加我们所需要的组件即可,而不需要写一些不必要的流程代码。然后,我们要写一个和页面相同命名的.page页面属性文件,在这个页面中,我们首先要注册我们已经使用的组件,这样,组件才可以在页面中生成,同时,我们还可以在.page文件中注册一系列的属性变量,这些属性变量的数据将随着页面的属性一起传送到下一个页面中。最后,我们要写明一个相关的java类,用来处理从页面中所得到的数据。这样,我们就完成了一个tapestry的开发。
那么,这样开发的好处是什么呢?我们为什么说tapestry比struts更加高级呢?
事实上,tapestry的开发概念就是将一个页面作为一个对象,甚至整个b/s结构中,view层所有的流程、表现、处理都作为对象来传递。这样就完全延续了java的oo概念。tapestry认为,一个页面就是一个页面对象,而这个对象由三个部分组成,第一个就是html模版,也就是页面应该是什么样子的;第二个就是java类,这个java类就是这个页面所要对所得数据的处理方法;第三个就是.page属性文件,这个文件将java类和html模版联系起来,并且将所需要的数据从html中取得,传送给java类来处理。
在jsp/servlet中,我们所需要的参数传递是通过request/response来传递的,这样的传递对于java的封装性还是不够,因为对于程序员来说,我们还是需要了解数据到底是传入还是传出。对于这些,tapestry做了如下的改变,tapestry设计了一个叫做requestCycle的对象来封装request/response对象,我们需要参数的时候,只需要调用requestCycle的方法即可,无需分辨具体数据是传入还是传出。事实上,tapestry对整个servlet结构都进行了封装,大家可以在实际应用过程中切实的体会其所带来的方便与快捷。
我们说了这么多tapestry的好处,那么tapestry是不是就完全脱离了servlet了呢?不是的,事实上,tapestry就是servlet,我们在写tapestry应用的时候就会发现,我们在web.xml中注册了一个servlet,就是tapestry应用的开始位置ApplicationServlet。
tapestry在中国还并不流行,但是大量的优点和好处使得我们不得不重视它。但是它更加抽象的概念使得对于学习和使用它的程序员提出了更高的要求。
谢谢大家对我的支持,我会陆续把我使用中的笔记陆续给大家发在论坛上供大家讨论,如果有兴趣的话,也可以联系我,我的oicq是:17221648
正文
谈谈的开发与优势(实在原创) 2006-03-09 22:42:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/sword2008/10861.html
阅读(4064) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论