实用2E设计模式 编程指南 C性 乐思 PUB. COM
目录 第1章J2EE设计模式 模式的演变 软件工程中的模式 何谓设计模式 标识模式 表示设计模式 设计模式如何帮助解决问题 选择适当的设计模式 使用设计模式 因素改变 反模式 J2EE与设计模式 2EE模式的问题域 小结 第2章Web层设计模式 表示模式 案例:宾馆订房管理系统… 标识模式 小结 第3章持久性框架设计模式 开始模型 何谓持久性框架 TitleDAO会话Bean… Value Object模式 Service Locator模式 使用持久性框架 持久性框架策略 小结 第4章改进性能与伸缩性的设计模式 性能问题的原因
实用J2EE设计模式编程指南 伸缩性问题的原因 城市休假订票应用程序, 标识提高性能的模式 136 标识提高伸缩性的模式 完整 City Break体系结构 第5章管理安全性的设计模式 何谓安全模式 Wrox Web Banking用例… 实现案例 小结 第6章企业集成设计模式 何谓企业应用程序集成(EAI) J2EE集成模式 简单集成情形 217 实现集成模式 在B2B集成中使用集成模式 小结 第7章复用性、可维护性与扩展性设计模式 为何编写可复用软件 为何编写可维护软件 为何编写可扩展软件 257 基于组件的案例 Decorator设计模式
第1章J2EE设计模式 第1章J2EE设计模式 即使利用最先进的软件平台Java2 Platform Enterprise Edition(J2EE),开发企业应 用程序仍然是个难题。J2EE通过AP提供技术与服务的高层抽象,使企业开发得到简化。但 是,仅仅知道J2EEAP是不够的。要设计良好的体系结构,得到高质量的应用程序,就要 知道何时如何正确使用J2 EE API本书介绍如何正确使用J2 EE API、技术与服务。 由于新技术方面的经验缺乏,我们通常要自已猜测如何正确使用。通常很难第一步就 走对,而是要不断试验,直到找出最佳方法。最佳方法显然是从实践中得到的,不是发明出 来的,而是发现和改善而成的 工程学科中的一大原则是总结经验和利用实践证明有效的方案,企业应用程序也是这 样。经验有助于更快更顺利地建立良好方案,从而节省成本,提高质量。惟一的问题是需要 获得经验,但这个经验可以是别人的间接经验,而不一定非要是自己的直接经验。本书帮助 读者节省自己的时间,介绍如何根据许多开发人员的间接经验进行合理设计。 但是,别人的经验如何描述昵?多年来,模式已经成为收集、规范和分析某些情境中 常见问题的有效方法。本书主要介绍J2EE设计模式,不仅介绍2EE企业开发中的常见向题 及其解决方案,而且介绍其如何运用到实际项目中 本章概述模式,并特别介绍设计模式与J2EE,同时介绍一些准则,如怎样有效利用设 计模式。本章介绍的内容包括 模式的演变 ·何谓设计模式 ·标识模式 设计模式如何解决设计问题 选择设计模式 ·使用设计模式 ·反模式 ·J2EE与设计模式 J2EE特定模式与J2EE情境中的模式 J2EE模式的问题域 模式的演变 设计模式是从建筑与民用工程开始的。20世纪70年代,建筑学是需要大量经验的学科 hris-topher Alexander等的三本著作震惊了整个行业,使不需要太多专门知识与经验的人也 可以使用建筑学。他们标识有效结构之间的相似性,确定共同原则,作为常见设计问题的方 案,并将其命名为建筑学中的方案“模式
实用J2EE设计模式编程指南 但是,发布253个模式之后, Christopher Alexander仍然没能使建筑学成为机械化过程 那么,这些建筑模式有什么重要性呢?模式的目标并不是使建筑学成为机械化过程,而是为 了普及常见建筑间題的解决方案,使经验较少的建筑师能更高效地进行设计,这是建筑模式 的主要目标。 建筑模式对其他工程学科产生了巨大的影响。显然,每个成熟的工程学科都应建立常 见问题的解决方案,软件工程也不例外,叮以用模式成功地描述常见软件问题的解决方案 模式不仅提供良好方案,而且还叮以帮助人们进行沟通,帮助他们分析工作和寻找原因。 软件工程中的模式 软件工程中的模式是什么呢?没有一个公认的定义 简单地说,模式就是情境中一个问题经过证实的一个方案 但是,这个简单定义可能造成对模式的误解。 Christopher Alexander写道: “每个模式描述一个在我们的环境中不断重复出现的问題,然后描述这个问题的方案 核心,使你可以多次使用同一方蒙,而不必进行重复工作。” 近年来关于软件工程中的模式的最有影响的出版物是《 Design Patterns: Elements of Reusable Object-Oriented Software》,作者 Erich Gamma、 Richard helm、 Ralph Johnson John Vlissides称为四人帮, Addison-Wesley出版公司出版(ISBN:0201-63361-2)。其定 模式如下 “模式是三段值,表示特写情境、问题与方蒙之间的关系。” 根据这个定义,模式是多种情形中可以使用的问题解。 Richard Gabriel提供了一个有趣的定义 毎个模式是三段值,表示情境,这个情境中重复出現的问题及解决这些问題的一定 软件配置之间的关系。” 模式是从经验中总结出来的,基于经过证实的方案。模式只有在实际系统中多次得到 验证之后才能成为模式。因此,模式一方面促进复用,一方面又防止重复劳动,最终使我们 能更快更高效地工作。 模式还增加表达能力,改进建筑师与设计人员之间的通信,使我们可以按前所未有的 方式考虑常见结构性方案。模式鼓励通过结合解决大问题, 由此可见,模式没有什么新东西。有经验的设计人员可以阅读模式和发现过去的处理 方法。众所周知,专家并不从低级结构考虑问题,而是建立高级抽象。但模式则鼓励人们标 识记录这些高级抽象。标识模式的动机包括: 寻找模式靠经验而不是靠想像。想像会引入风险,因为新的方法!技术要经过验证 1j测试之后才能证明有用。实际中,成功通常比想像更重要。因此,新的模式要终 过试验才能评估其 好的模式是从实践中总结出来的