第10章  合成/聚合复用原则(CARP)    115
10.1  合成和聚合的区别    115

10.2  复用的基本种类    115

10.3  从代码重构的角度理解    117
第11章  迪米特法则(LoD)    121

11.1  迪米特法则的各种表述    121
11.2  狭义的迪米特法则    121

11.3  迪米特法则与设计模式    126

 
11.4  广义的迪米特法则    128
11.5  广义迪米特法则在类的设计上的体现    129
11.6  广义迪米特法则在代码层次上的实现    133
11.7  老子论“圣人之治”    133
 
第三部分:创建模式

第12章  简单工厂(Simple Factory)模式    139
12.1  工厂模式的几种形态    139

12.2  简单工厂模式的引进    139
12.3  简单工厂模式的结构    146
12.4  简单工厂模式的实现    148
12.5  简单工厂模式与其他模式的关系    153

12.6  模式的优点和缺点    155
12.7  简单工厂模式在Java中的应用    156
12.8  女娲抟土造人    160
第13章  工厂方法(Factory Method)模式    165
13.1  引言    165
13.2  工厂方法模式的结构    167
13.3  工厂方法模式在农场系统中的实现    172
13.4  关于工厂方法模式的实现    177
13.5  Java语言中工厂方法模式的例子    179
13.6  工厂方法模式与其他模式的关系    182
13.7  女娲举绳造人    185
13.8  其他的例子    185
第14章  抽象工厂(Abstract Factory)模式    193
14.1  引言    193
14.2  问题    195
14.3  抽象工厂模式的结构    198
14.4  在什么情形下应当使用抽象工厂模式    204

14.5  抽象工厂模式在农场系统中的实现    205
14.6  抽象工厂模式的另一个例子    211
14.7  “开-闭”原则    212
14.8  关于模式的实现    213
14.9  女娲造万物的故事    214
第15章  单例(Singleton)模式    221
15.1  引言    221
15.2  单例模式的结构    222
15.3  在什么情况下使用单例模式    228
15.4  单例类的状态    229
15.5  一个实用的例子:属性管理器    230
15.6  Java语言中的单例模式    235
15.7  专题:不完全的单例类    239
15.8  相关模式    240
15.9  附录:双重检查成例的研究    243
15.10  给读者的一点建议    247
第16章  专题:单例模式与MX记录    249
16.1  问题与解决方案    249
16.2  目录服务与MX记录    251
16.3  JNDI架构介绍    252
16.4  如何使用JNDI编程    253
16.5  系统设计    255
16.6  讨论    261
第17章  专题:多例(Multiton)模式与多语言支持    267
17.1  引言    267
17.2  多例模式    269
17.3  多语言项目的设计    272
第18章  专题:序列键生成器与单例及多例模式    283
18.1  问题    283
18.2  将单例模式应用到系统设计中    285
18.3  将多例模式应用到系统设计中    297
18.4  讨论    300
第19章  建造(Builder)模式    301
19.1  引言    301
19.2  建造模式的结构    302
19.3  建造模式的活动序列    307
19.4  建造模式的实现    307
19.5  众神造人的神话故事    312
19.6  JavaMail中的建造模式    313
19.7  一个发送邮件的例子    315
19.8  在什么情况下使用建造模式    325
19.9  建造模式与其他模式的关系    326
第20章  原始模型(Prototype)模式    335
20.1  引言    335
20.2  变量、对象以及对象的引用    336
20.3  Java对象的复制    337
20.4  原始模型模式的结构    341
20.5  模式的实现:深复制和浅复制    345
20.6  孙大圣的身外身法术    347
20.7  在什么情况下使用原始模型模式    358
20.8  模式的优点和缺点    359
20.9  原始模型模式与其他模式的关系    359
第21章  专题:JavaBean的“冷藏” 和“解冻”    363
21.1  引言    363
21.2  什么是“冷藏”和“解冻”    363
21.3  什么可以“冷藏”,什么不可以    364
21.4  Beans.instantiate()方法    366
21.5  怎样在JSP中使用Beans.Instantiate()方法    372
21.6  与装饰模式的关系    374