Steven John Metsker是Dominion Digital公司的管理顾问,该公司负责信息技术与商业过程的重新设计。Steven擅长运用面向对象技术构建结构清晰、功能强大的软件系统。他还是Building Parsers with JavaTM、Design Pattern JavaTM Workbook与Design Patterns in C#(皆由Addison-Wesley出版)等著作的作者。
William C. Waker(www.xp123.com)是一名独立软件咨询师、教练和培训讲师,他拥有超过20年的软件开发经验。Bill先后任职于Capital One Financial,DMR Trecom与VTLS。他是Refactoring Workbook与Extreme Programming Explored(皆由Addison-Wesley出版)等著作的作者。
序 xv
第1章 绪论 1
为何需要模式 1
为何需要设计模式 2
为何选择Java 3
UML 3
挑战 4
本书的组织 4
欢迎来到Oozinoz公司 6
小结 6
第1部分 接口型模式
第2章 接口型模式介绍 8
接口与抽象类 8
接口与职责 10
小结 11
超越普通接口 12
第3章 适配器(Adapter)模式 13
接口适配 13
类与对象适配器 17
JTable对数据的适配 20
识别适配器 24
小结 25
第4章 外观(Facade)模式 27
外观类、工具类和示例类 27
重构到外观模式 29
小结 38
第5章 合成(Composite)模式 39
常规组合 39
合成模式中的递归行为 40
组合、树与环 42
含有环的合成模式 47
环的影响 50
小结 51
第6章 桥接(Bridge)模式 52
常规抽象:桥接模式的一种方法 52
从抽象到桥接模式 54
使用桥接模式的驱动器 57
数据库驱动 57
小结 59
第2部分 职责型模式
第7章 职责型模式介绍 62
常规的职责型模式 62
根据可见性控制职责 64
小结 65
超越普通职责 65
第8章 单例(Singleton)模式 67
单例模式机制 67
单例和线程 68
识别单例 70
小结 71
第9章 观察者(Observer)模式 72
经典范例:GUI中的观察者模式 72
模型/视图/控制器 76
维护Observable对象 82
小结 84
第10章 调停者(Mediator)模式 85
经典范例:GUI调停者(Mediator) 85
关系一致性中的调停者模式 89
小结 96
第11章 代理(Proxy)模式 97
经典范例:图像代理 97
重新思考图片代理 102
远程代理 104
动态代理 109
小结 114
第12章 职责链(Chain of Responsibility)模式 115
现实中的职责链模式 115
重构为职责链模式 117
固定职责链 119
没有组合结构的职责链模式 121
小结 121
第13章 享元(Flyweight)模式 122
不变性 122
抽取享元中不可变的部分 123
共享享元 125
小结 128
第3部分 构造型模式
第14章 构造型模式介绍 130
构造函数的挑战 130
小结 132
超出常规的构造函数 132
第15章 构建者(Builder)模式 134
常规的构建者 134
在约束条件下构建对象 137
可容错的构建者 139
小结 140
第16章 工厂方法(Factory Method)模式 141
经典范例:迭代器 141
识别工厂方法 142
控制要实例化的类 143
并行层次结构中的工厂方法模式 145
小结 147
第17章 抽象工厂(Abstract Factory)模式 148
经典范例:图形用户界面工具箱 148
抽象工厂和工厂方法 153
包和抽象工厂 157
小结 157
第18章 原型(Prototype)模式 158
作为工厂的原型 158
利用克隆进行原型化 159
小结 162
第19章 备忘录(Memento)模式 163
经典范例:使用备忘录模式执行撤销操作 163
备忘录的持久性 170
跨会话的持久性备忘录 170
小结 174
第4部分 操作型模式
第20章 操作型模式介绍 176
操作和方法 176
签名 177
异常 178
算法和多态 179
小结 180
超越常规的操作 181
第21章 模板方法(Template Method)模式 182
经典范例:排序 182
完成一个算法 186
模板方法钩子 188
重构为模板方法模式 189
小结 191
第22章 状态(State)模式 193
对状态进行建模 193
重构为状态模式 197
使状态成为常量 201
小结 203
第23章 策略(Strategy)模式 204
策略建模 204
重构到策略模式 207
比较策略模式与状态模式 211
比较策略模式和模板方法模式 211
小结 212
第24章 命令(Command)模式 213
经典范例:菜单命令 213
使用命令模式来提供服务 216
命令钩子 217
命令模式与其他模式的关系 219
小结 220
第25章 解释器(Interpreter)模式 221
一个解释器示例 221
解释器、语言和解析器 233
小结 234
第5部分 扩展型模式
第26章 扩展型模式介绍 236
面向对象设计的原则 236
Liskov替换原则 237
迪米特法则 238
消除代码的坏味道 239
超越常规的扩展 240
小结 241
第27章 装饰器(Decorator)模式 242
经典范例:流和输出器 242
函数包装器 250
装饰器模式和其他设计模式的关系 257
小结 258
第28章 迭代器(Iterator)模式 259
普通的迭代 259
线程安全的迭代 261
基于合成结构的迭代 267
小结 277
第29章 访问者(Visitor)模式 278
访问者模式机制 278
常规的访问者模式 280
Visitor环 286
访问者模式的危机 290
小结 292
附录A 指南 293
附录B 答案 297
附录C Oozinoz源代码 366
附录D UML概览 369
参考文献 375
21世纪高职高专系列规划教材:计算机网络技术 本书特色 本书全面系统地介绍了组建计算机网络系统的软硬件技术及有关Internet和Intranet技术。全书共分...
智能材料是一种能感知外部刺激,能够判断并适当处理且本身可执行的新型功能材料。智能材料与智能结构有着巨大的潜在的应用前景,
本书从游戏是怎样一个行业到游戏业中形形色色的人;从细琐的技巧和算法,到游戏的结构和架构;从调试技巧到进度里程碑的创建和项
《中信国学大典:六祖坛经》内容简介:中信国学大典(50册)是中信出版社引进自香港中华书局的一套深具国际视野、贴近当代社会的中
《信托的未来》内容简介:全面剖析中国信托业未来发展趋势与转型方向在中国金融行业中,信托一直是一个较为特殊的存在。过去十年,
《双相情感障碍Ⅱ型》内容简介:当卡拉·多尔蒂被诊断为双相情感障碍Ⅱ型时,她的世界改变了。迷茫40年、艰难确认后,她终于能够走
《物联网:万物数字化的利器》内容简介:这是一本介绍物联网生态的技术专著。全书从世界经济周期的分析开始,介绍了第六次“经济长
《2020年法律硕士联考重要法条释解》内容简介:本书主要内容为法律硕士联考法条类图书,针对法条涵盖的考点,分析和讲解,包含5科,
《唐宋小古人:趣味游戏书》内容简介:响应国家“让文物活起来”的号召,同时让4-10岁的小观众在家长的陪同下也能参与展览,热爱中
《美得令人心醉的宋词》内容简介:《美得令人心醉的宋词》是特别针对现代初阶宋词爱好者而编辑的宋词选本,是新时代的宋词基本读本
《电子工程师自学速成:设计篇》内容简介:“电子工程师自学速成”丛书分为“入门篇”、“提高篇”和“设计篇”共3本。本书为“设计
《纽埃》内容简介:纽埃位于南太平洋地区,是“波利尼西亚之礁”的一部分。纽埃全国由14个村庄构成,农业与旅游业是主要经济支柱。
《跟动物交换身体2》内容简介:★畅销书《跟动物交换身体》第二弹重磅上市!魔性画风+专业知识+奇趣解读,以独特的视角直观解读动物
SwiftisanewprogramminglanguageforcreatingiOSandOSXapps.SwiftbuildsonthebestofCan...
《经济学夜话:宏观篇》内容简介:本书为《经济学夜话》的“宏观篇”,紧跟当下实事,话题涉及新冠疫情下的世界经济、如何衡量物价
《OpenCL异构计算》讲解了OpenCL和如何为复杂的异构系统(多核处理器、GPU和APU)进行并行编程。OpenCL是为支持多平台设计的,受
《流浪生死书》内容简介:人生实苦,要么是身体的病,要么是精神上的痛。人,无法躲避,只有超越。有的人选择文学、有的人选择艺术
《历史文化名城名镇名村系列:焦溪村》内容简介:焦溪古村位于常州市天宁区郑陆镇,地处常州、无锡、江阴三市交界处,完整地保留了
会声会影视频编辑高手秘笈158招-X5版-(附赠多媒体光盘1张) 本书特色 博智书苑主编的《会声会影视频编辑高手秘笈158招(附光盘X5版)》通过158个精彩的...
《宋代家礼》内容简介:《宋代家礼》一书将宋代家礼作为一种集体写作规范的历史场景来观察,探讨了这一时期书写者在家礼文本中的自