对于JSF的一些思考

开发 后端
本文介绍对于JSF想到了一些缺点,在这里分析一下,包括有状态编程模型,面向组件开发,更加OO。

用过一段时间的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的做法有点费力不讨好的感觉。

【编辑推荐】

  1. JSF和Tapestry全面比较
  2. 开发自定义JSF组件
  3. 简述学习JSF小记
  4. JSF图形组件管理图形bean组件
  5. Seam与JSF的加减法
责任编辑:佚名 来源: CSDN
相关推荐

2011-08-01 10:37:29

软件项目管理

2020-02-03 16:03:36

疫情思考

2011-11-30 15:57:18

2018-07-11 14:06:04

数据质量数据治理数据清洗

2020-07-14 09:23:49

安全运营甲方乙方

2017-09-01 12:48:34

DevSecOps安全运维

2019-09-17 09:21:01

2017-12-21 07:54:07

2021-06-10 10:02:19

优化缓存性能

2018-06-14 09:35:35

2011-09-13 09:41:59

Python

2021-01-14 23:24:38

incaseforma蠕虫病毒

2013-04-19 10:01:19

jQueryJS

2024-10-28 09:02:12

2018-07-23 12:03:01

2009-08-27 11:02:22

JavaScript事

2012-12-19 09:36:49

测试自动化测试

2020-08-20 10:16:56

Golang错误处理数据

2009-08-27 10:06:15

Scala的构造方法

2009-11-30 13:51:28

VS2003 Acti
点赞
收藏

51CTO技术栈公众号