J2EE反模式

J2EE反模式
作 者: 达得内 苏金国 苏金国
出版社: 机械工业出版社
丛编项: 开发人员专业技术丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: J2EE
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Bill Dudney,是一位Java架构师,他参与构建J2EE应用和软件已有5年,从事分布式计算长达14年。他曾与人合作出版了《Jakarta Pitfalls》。

内容简介

所谓模式,就是以一种正式模板的形式来描述好的实践做法,而反模式是采用相同的形式来描述不恰当的实践做法。本书不仅指出了许多J2EE开发中存在的反模式及其症状和引发的后果,而且分析了其产生的原因,并至少给出了一种重构方案,指导开发人员逐步转换代码实现,从而得到更好的没计:本书的目的不是想指导开发人员如何完成J2EE设计和开发,而是通过指出应用开发中常犯的错误及修复错误的方法,来指导读者成为更好的J2EE开发人员。.如今有许多已发布的软件中都存在着大量的bug,运作得十分糟糕。遗憾的是,通常我们很难准确地找出是哪里出了问题,需要做哪些工作才能让情况好转。本书以全新的视角,针对J2EE,为读者奉上了大量找出并修正反模式(即不好的编码和设计习惯)的工具。本书作者分析了开发J2EE应用时常犯的错误,并且清楚地指出了该如何进行重构以摆脱困境。本书首先以模板的形式来介绍某种反模式,描述其症状和后果,并指出其产生的典型原因,然后逐步对代码实现进行转换,从而得到一个更好的设计。对于每一种反模式,作者都提供一些实际的例子和代码,而且至少提供了一种重构方案。读者可以使用这些方案,轻松编写出表现更好、运行更快的J2EE程序。书中涵盖50多种J2EE反模式,其中涉及Java编程的许多热点问题:●误算带宽需求●JSP会话中有太多数据●每个servlet中都有公共功能●消息驱动bean中目标超载●J2EE服务层次选择不当...

图书目录

第1章分布与扩展

1.1 反模式:本地化数据

1.2 反模式:误解数据需求

1.3 反模式:误算带宽需求

1.4 反模式:超负荷运转的网络中心

1.5 反模式:手持利斧乱砍一气的人

1.6 重构方案

1.6.1 提前规划

1.6.2 选择适当的数据体系架构

1.6.3 划分数据和工作

1.6.4 为将来扩展做出规划(企业规模的面向对象)

1.6.5 规划实际的网络需求

1.6.6 使用特殊化网络

1.6.7 务求谨慎

1.6.8 丢掉有问题的硬件

第2章 持久存储

2.1 反模式:挖掘机

2.2 反模式:碾压

2.3 反模式:数据观点

2.4 反模式:窒息

2.5 重构方案

2.5.1 轻量级查询

2.5.2 版本

2.5.3 组件视图

2.5.4 打包整理

第3章 基于服务的体系架构

3.1 反模式:多头服务

3.2 反模式:过小服务

3.3 反模式:烟囱式服务

3.4 反模式:客户完成服务

3.5 重构方案

3.5.1 接口划分

3.5.2 接口合并

3.5.3 技术服务层

3.5.4 跨层重构

第4章 JSP的使用和误用

4.1 反模式:忽略事实

4.2 反模式:代码太多

4.3 反模式:嵌入导航信息

4.4 反模式:复制粘贴JSP

4.5 反模式:会话中有太多数据

4.6 反模式:不加限制地滥用TagLib

4.7 重构方案

4.7.1 bean化

4.7.2 引入业务流警察

4.7.3 引入委托控制器

4.7.4 引入模板

4.7.5 去除会话访问

4.7.6 去除模板文本

4.7.7 引入错误页面

第5章 servlet

5.1 反模式:每个servlet中都包含公共功能

5.2 反模式:servlet中的模板文本

5.3 反模式:字符串用于内容生成

5.4 反模式:没有建立连接池

5.5 反模式:直接访问实体

5.6 重构方案

5.6.1 引入过滤器

5.6.2 使用JDom

5.6.3 使用JSP

第6章 实体bean

6.1 反模式:脆弱的链接

6.2 反模式:DTO爆炸

6.3 反模式:表面张力

6.4 反模式:粗行为

6.5 反模式:职责过当

6.6 反模式:幻想

6.7 重构方案

6.7.1 本地动作

6.7.2 别名

6.7.3 大批撤离

6.7.4 扁平视图

6.7.5 强结合

6.7.6 双管齐下

6.7.7 外观

第7章 会话EJB

7.1 反模式:到处都是会话

7.2 反模式:过度膨胀的会话

7.3 反模式:过瘦的会话

7.4 反模式:大事务

7.5 反模式:透明外观

7.6 反模式:数据缓存

7.7 重构方案

7.7.1 会话外观

7.7.2 分解大事务

第8章 消息驱动bean

8.1 反模式:误解JMS

8.2 反模式:目标超载

8.3 反模式:过分实现可靠性

8.4 重构方案

8.4.1 建构解决方案

8.4.2 规划网络数据模型

8.4.3 充分利用各种形式的EJB

第9章 Web服务

9.1 反模式:Web服务总能解决问题

9.2 反模式:只要有疑问,就做成Web服务

9.3 反模式:万能对象Web服务

9.4 反模式:细粒度/多交互Web服务

9.5 反模式:也许并非RPC

9.6 反模式:单模式梦想

9.7 反模式:SOAPY业务逻辑

9.8 重构方案

9.8.1 RPC转向文档型

9.8.2 模式适配器

9.8.3 Web服务业务委托

第10章 J2EE服务

10.1 反模式:硬编码的位置标识符

10.2 反模式:Web=HTML

10.3 反模式:需要本地代码

10.4 反模式:过度滥用JNI

10.5 反模式:选择了不当的层次

10.6 反模式:未充分利用EJB容器

10.7 重构方案

10.7.1 实现解决方案参数化

10.7.2 选择最适用的客户

10.7.3 控制JNI的边界

10.7.4 充分利用J2EE技术

附录A 反模式目录

附录B 重构目录

附录C 网站上的内容

参考文献