电脑技术学习

菜鸟的跳板牛人的乐园JSF“通吃”秘笈

dn001
在任何技术领域里,总会有那么一些高手存在,他们是技术发展的生力军。JSF只是一个规范,任何人都可以在这个规范下编写自己的具体实现(Implementation),这无疑给了跃跃欲试的高手们一展身手的大好机会。

  在任何技术领域里,总会有那么一些高手存在,他们是技术发展的生力军。JSF不仅仅是初学者的跳板,也是Java Web高手的技术盛宴。这是JSF的高明之处,它给普通程序员以简单易用的一面,给高手们以复杂深奥的另一面。JSF只是一个规范,任何人都可以在这个规范下编写自己的具体实现(Implementation),这无疑给了跃跃欲试的高手们一展身手的大好机会。

   1. JSF是技术的盛宴

   在上一篇文章《JSF是初学者进入Java Web世界的跳板》中,当我费尽口舌,教唆菜鸟们以JSF作为参加Java Web竞赛的起跑线时,“牛人们恐怕要骂我误人子弟了。不以为然一笑置之者会有,嗤之以鼻不屑一顾者会有,拍案而起大声叱责者亦会有。他们都是对的,因为他们是“牛人。所谓“牛人,是这样一个群体,他们有着过人的智慧,有着对技术的狂热爱好,有着充沛的精力,有着打破沙锅问到底的钻研精神。他们非常重视技术,但也仅仅是重视技术本身而已,而技术能否带来生产力的提高,并不是他们关注的重点。在他们手里,任何一项技术,都可以变成他们需要的样子,为他们服务。一句话,他们关注技术,不关注生产力。JSP正是这样的技术,虽然强大却没有生产力,但在“牛人们眼里,JSP就像开锁匠手中那根细小的钢针,一番摆弄,任何门锁都可以打开。

   其实,JSF不仅仅是菜鸟的跳板,JSF也为“牛人们准备了丰厚的技术大餐,“牛人们在JSF里,肯定会找到属于他们的乐趣。JSF是迄今为止我所见过最为复杂的框架,当然,我孤陋寡闻,所知有限,也许有别的更复杂的框架也未必不可。JSF的复杂性正是“牛人们所需要的,Sun的专家组不愧是“牛人们的知音,他们在JSF里,设置了一道又一道关卡,给“牛人们埋下了种种乐趣。比如,JSF的生命周期就被划分为6个阶段,这足够让“牛人们好奇一阵子的了。JSF为什么要划分6个阶段?在这6个生命周期阶段中,JSF又干了些什么?为什么要这么做?有什么好处?等等等等,“牛人们在JSF里大有可为。

   如果仅仅探索别人设计的机关、猜破别人设置的谜语,还不足以满足“牛人们的求知欲的话,那好,JSF给“牛人们留下了更大的空间。JSF的任何一部分,都可以被替换,包括它的UI组件、它的渲染器、它的EL语言解释器、它的事件等等,甚至,如果你觉得,他6个阶段的生命周期划分,不怎么顺你的眼的话,你可以用自己的生命周期替代它!

2. JSF给高手留下的想象空间

;JSF的魅力,在于它给普通程序员以简单易用的一面,给“牛人们以复杂深奥的另一面,既可以满足普通程序员对开发效率的追求,又给了“牛人们足够的想象空间和发挥余地,不同水平和不同程度的Java Web程序员,在JSF里相安无事。当普通程序员以近似桌面编程的速度,为赶项目工期而日夜奋战时,“牛人们眉头一皱,计上心来,对JSF框架聊聊数语的改动,或许可以让项目工期立马缩短一半。这样,“牛人们的苦思冥想有了回报,普通程序员的青春也不再白白流逝,大家在JSF里相得益彰。

;;事实上,JSF只是一个规范,它的具体实现(Implementation)可以不受限制,只要满足规范的要求,任何人都可以编写自己的实现(Implementation),而规范保证JSF程序可以在不同的实现(Implementation)之间无缝地移植。制定一个规范,让所有的程序员都有开发自己实现(Implementation)的机会,这是Sun的厚道之处,也是Java的生命力所在。最早的JSF实现(Implementation),是Sun随JSF1.0规范一起发布的JSF RI,即JSF的参考实现(RI,Reference Implementation),这是一个与标准完全一致的实现(Implementation),目的是为其他厂商的实现(Implementation)提供一个参考。RI之后不久,Apache推出了UI组件更丰富和功能更强大的开源JSF实现(Implementation),称为MyFaces,深受程序员的喜爱。

;除了Sun和Apache,许多大小厂商也先继推出了自己的JSF实现(Implementation),可见,写一个自己的JSF实现(Implementation),对于“牛人们来说,并非不可能。说不定哪天“牛人们发发狠,闭关修炼若干时日,JSF的世界里又会多出一个新的实现(Implementation)。据说金蝶已经动手开发自己的JSF实现(Implementation)了,下一个会是谁呢?是你吗?“牛人!

原文链接:http: //tech.it168.com/j/n/2007-03-20/200703200910029.shtml

标签: