1 / 16
文档名称:

12个最重要的J2EE最佳实践详解完整版.doc

格式:doc   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

12个最重要的J2EE最佳实践详解完整版.doc

上传人:xxj16588 2016/6/22 文件大小:0 KB

下载得到文件列表

12个最重要的J2EE最佳实践详解完整版.doc

相关文档

文档介绍

文档介绍:12 个最重要的 J2EE 最佳实践详解完整版 MVC 框架可以将业务逻辑( Java beans 和 EJB 组件) 、控制器逻辑( Servlets/Struts 动作)、表示层( JSP 、 XML/XSLT ) 清晰地分离开来。良好的分层可以带来许多好处。 MVC 框架对于成功使用 J2EE 是如此重要, 以致没有其他最佳实践可以与其相提并论。模型- 视图- 控制器( MVC )是设计 J2EE 应用程序的基础。 MVC 将您的程序代码简单地划分下面几个部分: 负责业务逻辑的代码(即模型?? 通常使用 EJB 或者普通的 Java 对象来实现)。负责用户界面显示的代码(即视图?? 通常通过 JSP 及标记库来实现,有时也使用 XML 和 XSLT 来实现)。负责应用程序流程的代码(即控制器?? 通常使用 Java Servlet 或像 Struts 控制器这样的类来实现)。如果您不遵循基本的 MVC 框架,在开发过程中就会出现许多的问题。最常见的问题就是在视图部分添加了太多的成分, 例如, 可能存在使用 JSP 标记来执行数据库访问, 或者在 JSP 中进行应用程序的流程控制,这在小规模的应用程序中是比较常见的,但是,随着后期的开发,这样做将会带来问题,因为 JSP 逐步变得越来越难以维护和调试。类似地,我们也经常看到将视图层构建到业务逻辑的情况。例如,一个常见的问题就是将在构建视图时使用的 XML 解析技术直接应用到业务层。业务层应该对业务对象?? 而不是绑定到视图的特定数据表示进行操作。然而,只是具有合适的组件并不一定意味着可以使您的应用程序得到合适的分层。我们常常见到一些应用程序包含 servlet 、 JSP 和 EJB 组件所有这三项,然而,其主要的业务逻辑却是在 servlet 层实现的,或者应用程序导航是在 JSP 中处理的。您必须进行严格的代码检查并重构您的代码,以确保应用程序的业务逻辑只在模型层( Model layer )进行处理,应用程序导航只通过控制器层( Controller layer )进行处理,而您的视图( Views )只是将传递过来的模型对象以 HTML 及 JavaScript 的形式表示出来。 2. 在应用程序的每一层都使用自动单元测试和测试管理。不要只是测试您的图形用户界面( GUI) 。分层的测试使测试及维护工作变得极其简单。在过去的几年中,在方法学领域有了相当大的革新,例如新出现的被称为 Agile ( 例如 SCRUM [Schwaber] 和极限编程[Beck1] ) 的轻量级方法现在已经得到了很普遍的应用。几乎所有的这些方法中的一个共同的特征是它们都提倡使用自动的测试工具, 这些工具可以帮助开发人员用更少的时间进行回归测试(regression testing) ,并可以帮助他们避免由于不充分的回归测试造成的错误, 因此可以用来提高程序员的工作效率。实际上,还有一种被称为 Test-First Development [Beck2] 的方法, 这种方法甚至提倡在开发实际的代码之前就先编写单元测试。然而,在您测试代码之前,您需要将代码分割成一些可测试的片断。一个" 大泥球" 是难以测试的, 因为它不是只实现一个简单的易于识别的功能。如果您的每个代码片断实现多个方面的功能,这样的代码将难以保证其完全的正确性。 MVC 框架( 以及 J2EE 中的 MVC 实现) 的一个优点就是元素的组件化能够( 实际上, 相当的简单) 对您的应用程序进行单元测试。因此, 您可以方便地对实体 bean 、会话 bean 以及 JSP 独立编写测试用例,而不必考虑其他的代码。现在有许多用于 J2EE 测试的框架和工具,这些框架及工具使得这一过程更加简单。例如, JUnit (是一种由 开发的开放源代码工具)和 Cactus (由 Apache 开发的开放源代码工具) 对于测试 J2EE 组件都非常有用。[Hightower] 详细探讨了如何在 J2EE 中使用这些工具。尽管所有这些详述了怎样彻底地测试您的应用程序, 但是我们仍然看到一些人认为只要他们测试了 GUI (可能是基于 Web 的 GUI ,或者是独立的 Java 应用程序) ,则他们就全面地测试了整个应用程序。 GUI 测试很难达到全面的测试, 有以下几种原因。首先, 使用 GUI 测试很难彻底地测试到系统的每一条路径, GUI 仅仅是影响系统的一种方式,可能存在后台运算、脚本和各种各样的其他访问点,这也需要进行测试。然而, 它们通常并不具有 GUI 。第二, GUI 级的测试是一种非常粗粒度的测试。这种测试只是在宏观水平上测试系统的行为。这意味着一旦发现存在问题, 则与此问题相关的整个子系统都要进行检查,这使得找出 bug (缺

最近更新

氯丙咪嗪调控神经干祖细胞增殖和分化的分子机.. 2页

氧气对产丁醇芽孢杆菌菌体分化及代谢特性影响.. 2页

氢键自组装模板辅助作用合成高规整性梯形聚乙.. 2页

气瓶管超声波自动检测系统研究 2页

民间融资的刑事管制研究 2页

民俗文化背景下的平面设计研究--以“醉中秋”.. 2页

武威盆地石炭系烃源岩特征和有利区域优选 2页

模拟微重力对K562细胞增殖的影响 2页

榆林联通WCDMAS无线网工程设计 2页

植物篱-农作模式控制坡耕地氮磷流失效应及综合.. 2页

棕色棉色素相关基因RNA干扰载体构建及表达分析.. 2页

梨抗感干腐病性状分子标记及相关生理指标的比.. 2页

桩-锚支护结构在岳家嘴地铁站深基坑工程中的应.. 2页

格莱美音乐奖对中国流行乐坛的影响 2页

核电316L不锈钢焊缝腐蚀及其监测技术研究 2页

校园即时通信用户网络行为的研究 2页

果糖-1,6-二磷酸三钠盐结晶过程研究 2页

松浦镜鲤日粮中维生到K添加量的研究 2页

杏南开发区储层微观孔隙结构研究及应用 2页

杂环香料——喹喔啉衍生物的合成新工艺及其反.. 2页

父母政审证明材料(通用3篇) 3页

教育事业统计数据工作汇报 19页

信息系统在仓储管理中的应用 3页

三年级锦绣金华 19页

外国文学史(下)复习资料全 13页

APL中英文船名及IMO码对照表 3页

xx小区改造工程监理细则 19页

九年级化学计算——技巧性计算题 课件(20张p.. 20页

td型带式斗式提升机技术要求 17页

呼吸心跳暂停病例一例 3页