网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>高级技术>>设计模式>查看文档  
  综合应用 j2ee应用中常见的反模式     
  文章作者:未知  文章来源:中国IT实验室  
  查看:37次  录入:管理员--2007-11-20  
 
  j2ee应用中常见的反模式(anti-patterns)
  
  j2ee应用中有一些常见的毛病和错误的观念,按照时下流行的说法,叫反模式。稍不注意,我们自己也会犯,所以大概整理一下,一个是备忘,也是供需要的朋友参考:
  
  1-无ejb不叫j2ee
  
  ejb一直发展到今天的2.1仍然被广为诟病,它提供了很多时候我们并不需要的东西,而且我们在很多情况下一旦选用ejb就没有其他的方式不去使用那些笨重的功能。但是多所谓范例让我们有一种错觉,好像不用ejb就不是j2ee应用。有一些折中的方案是使用session fa?ade模式,entity bean采用bmp + 本地接口,然后提供一层无状态的session bean,采用远程和本地接口,这样的设计模式,我想,多半是出于无奈。如今,甚至我们经常都能看到不使用ejb的言论,炒得很火的spring则为这种完全不用ejb开发j2ee项目提供了实际的、强有力的佐证。
  
  2- 过度分层
  
  j2ee这个规范肤浅的来看,就是为我们定义了很多“层”,然后还有很多分工明确的“角色”,加上j2ee的蓝本应用程序就分了很多“层”,以至于大家都觉得j2ee的应用就应该是很多层的,其实不然,需要具体情况具体分析。
  
  3- 频繁的往返调用
  
  ejb的看似简单造成我们经常忽略可能在使用过程中出现的远程调用,比如有时候为了更新一条记录,每个字段都是远程的去set,大大增加了不必要的开销,于是我们意识到在调用中使用dto是一个建议遵循的方案。
  
  4- 过度使用有状态的session bean
  
  一般来讲,一个session bean实例,如果它是有状态的,那么它只对某个固定的用户服务,如果是无状态的,则可以满足不同用户的调用。这有点类似(只是有点类似)一个类的静态方法和非静态方法的区别。我们在实际应用中,应该尽量避免使用有状态的session bean,除非特别必要。我们可以把状态保留在session bean之外,如web容器的session对象或者我们自定义的类中,而不是完全依赖有状态的session bean去帮我们做。
  
  5- 过度会话
  
  web容器的session对象是个好东西,用起来也很方便和直截了当,这造成了我们很多人对它的滥用,什么东西都往里面放。这有两个突出的问题,一个是资源浪费;另一个,万一web服务器崩溃,那些本来需要持久化的数据就丢失了。我们需要考虑好,哪些数据本可以用request的,哪些数据又是需要持久化到数据库的,等等,不能一味依赖session。
  
  6- 万能servlet或者万能jsp
  
  j2ee为我们提供了web层丰富的技术选择,servlet或者jsp都只是其中一种,虽然它很强大,但是也不应该由它一个来承担所有mvc三个部分的功能。现实中我们的struts很好的规范了这个问题:servlet负责调度,专门的action负责处理逻辑,而jsp用于用户界面显示。jsp和servlet本质上是同一个东西,只是从不同的角度来处理问题,它们各有所长,互为补充。
 
 
上一篇: 一个简单的 thread 缓冲池的实现    下一篇: 深入浅出java设计模式之备忘录模式
  相关文档
在java中应用设计模式之factory method 11-20
爪哇语言单态创立性模式介绍(上) 03-14
java设计模式 支撑架构的重要组件 11-20
java设计模式之Prototype(原型) 03-14
校验值对象——应用visitor模式和反射 11-20
Java模式设计之多态模式与多语言支持 03-14
虚拟代理模式(virtual proxy)(图) 11-20
企业门户的发展方向 11-20
大道至简java23种模式一点就通 11-16
爪哇语言抽象工厂创立性模式介绍 03-14
利用observer模式解决组件间通信问题 11-20
java实时多任务调度过程中的安全监控设计 11-20
quicktime for java api 入门 11-20
设计模式之Command 03-14
java设计模式之state(对应每种状态的行为) 11-20
java设计模式之事务处理 11-20
java模式之单例模式 11-20
爪哇语言工厂方法创立性模式介绍(上) 03-14
关于java23种设计模式的有趣见解 11-20
session facade 的规则和模式 11-20
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息