专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » corej2eepatterns:J2EE应用中常见的反模式(anti-patterns) »正文

corej2eepatterns:J2EE应用中常见的反模式(anti-patterns)

来源: 发布时间:星期五, 2008年12月19日 浏览:2次 评论:0
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看似简单造成我们经常忽略可能在使用过程中出现远程比如有时候为了更新条记录每个字段都是远程大大增加了不必要开销于是我们意识到在中使用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 3个部分功能现实中我们Struts很好规范标准了这个问题:Servlet负责调度专门Action负责处理逻辑而JSP用于用户界面显示JSP和Servlet本质上是同个东西只是从区别角度来处理问题它们各有所长互为补充

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: