JSF之思考

 用过一段时间的Woodstock,当时感觉有点爽,但后来对于组件的控制方面的不是很好,没有在毕业设计上使用. 对于JSF想到了一些缺点,在这里分析一下。只是浅薄见解,欢迎讨论

1.有状态编程模型!?

JSF把Web编程搞的非常像JAVA SE GUI编程模型。维护组件树、组件状态。这让我感觉非常不舒服。Web开发就是Web开发,本身就是无状态的。所有行为都是基于request,session,application等范围。JSF硬要往GUI模型上套,结果就是非常不自然,有点四不像了。而且JSF维持的仅仅是视图状态,而不是数据状态,这种编程模型有点混乱。我认为Web就是Web!

2。面向组件开发,更加OO!?

这是在讨论去里看到有人这样为JSF宣传。我承认这句话的陈述是正确的。因为JSF把Web编程基本上变成了JAVA SE的GUI编程。确实是面向组件的。但是通过使用,我觉得这种做法的优势是否真的有那么大,值得考虑。相比JSF,PHP、Rails、JSP(JSTL)都没有刻意提供所谓的组件。这种做法方便了操纵HTML控件,直接、简单。而使用JSF控件时,则对于他的控制能力变得比较模糊并且不够灵活。我们需要在Backingbean里对组件进行控制。我感觉--太作做了。而且这种面向组件的方式所代来的好处远不能抵消它所代来的麻烦。

至于所谓的OO论,表示层的东西有必要刻意强调像JSF这种面向组件,OO吗?对于Widget那种ajax的HTML面向组件我是可以理解的。PHP/RoR没有面向组件但也非常好用。表示层只需要提供一些页面的重用和插入功能就足以了。这让我想起了人们对JAVA EE过度分层的抱怨。于Rails形成了鲜明的对比。所谓的OO在服务器端、业务处理的代码中有很大用处。但是Web是瘦客户端(不像Swing)!在Web的表示层中如此大张旗鼓的宣扬JSF式的OO我认为是一种误区。我们可以看看PHP/Rails这些语言框架,做到MVC,足够了。Web的表示层 需要的最重要的特性就是容易使用、容易控制、容易重用(也面片段)。

JSF那种把HTML和后端弄到一起,模仿Swing,搞OO的做法有点费力不讨好的感觉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值