关于作者
Jason McC. Smith,2005 年毕业于北卡罗莱纳州立大学教堂山分校,获计算机科学博士学位。该校也是元素模式的诞生地,元素模式当时是模式查询和识别系统(System for Pattern Query and Recognition,SPQR)项目的组成部分。Smith 博士因其在校的研究项目而荣获两项美国国家专利,一项与
SPQR 所采用的技术相关,另一项则来自 FaceTop 分布式文档协作系统。
此前,Smith 博士在物理仿真工程和咨询界工作过多年,取得了华盛顿州立大学的物理学和数学学士学位,值得一提的项目包括声纳和海洋环境仿真、电子工程仿真、商用和军用飞机飞行仿真,以及实时图形训练系统等。在 IBM 沃森研究中心工作的四年,使 Smith 博士有机会将从 SPQR 和 EDP 目录中获得的经验加以组织,并应用到大量的软件实体中,包括遗留系统和现代系统。
Smith博士现在供职于华盛顿州柯克兰市的The Software Revolution公司,任资深研究科学家。在那里,他持续地优化 EDP 目录,并寻找各种方法来推进公司在自动控制现代化及遗留系统改造方面的业务目标。
目 录
第1章 设计模式介绍 1
1.1 部落神话和部落智慧 5
1.2 艺术还是科学 9
1.2.1 生搬硬套地对待模式 9
1.2.2 模式和实现语言的相关性讨论 10
1.2.3 从神话到科学 12
第2章 元素模式 13
2.1 背景 14
2.2 定位、动机和方法 17
2.2.1 解析装饰器 18
2.2.2 纵身兔穴 21
2.2.3 语境 31
2.2.4 设计空间 34
2.3 核心 EDP 44
2.4 结论 45
第3章 模式实例记法 47
3.1 基本原理 47
3.2 PIN 箱 51
3.2.1 简易 PIN 箱 52
3.2.2 标准 PIN 箱 54
3.2.3 扩展 PIN 箱 58
3.2.4 堆叠 PIN 箱与多重性 61
3.2.5 剥离和合并 65
3.3 结论 69
第4章 EDP的运用 71
4.1 模式的组成 71 同位素 76
4.2 改造装饰器 81
4.3 重构 96
4.4 大局观 108
4.5 为什么需要阅读附录 114
4.6 高级主题 115
4.6.1 重点文档与培训 115
4.6.2 指标 116
4.6.3 程序化分析 119
4.7 结论 119
第5章 EDP编目 121
创建对象 123 检索 132 继承 136 抽象接口 145 委托 151 重定向 157 集聚 165 xvi
递归 171 归复方法 178 扩展方法 187 委托型集聚 193 重定向型递归 199 信托型委托 206 信托型重定向 215 表亲信托型委托 222 表亲信托型重定向 229
第6章 中间模式结构 237
实现方法 239 检索型创建 243 检索型共享 248 对象标识符 253 对象递归 260
第7章 GoF设计模式成分解析 269
7.1 创建型模式 270
7.1.1 抽象工厂 270
7.1.2 工厂方法 274
7.2 结构型模式 278
7.2.1 装饰器 278
7.2.2 代理 282
7.3 行为型模式 284
7.3.1 职责链 284
7.3.2 模板方法 286
7.4 结论 291
附录 ρ演算 293
A.1 依赖运算符 294
A.2 传递律和同位素 297
A.3 相似性 298
A.4 EDP 形式化 299
A.5 组合及化简规则 303
A.6 模式实例记法和角色 306
A.7 EDP 定义 307
A.7.1 创建对象 307
A.7.2 检索 308
A.7.3 继承 310
A.7.4 抽象接口 310
A.7.5 委托 311
A.7.6 重定向 312
A.7.7 集聚 312
A.7.8 递归 313
A.7.9 归复方法 313
A.7.10 扩展方法 314
A.7.11 委托型集聚 315
A.7.12 重定向型递归 315
A.7.13 信托型委托 316
A.7.14 信托型重定向 317
A.7.15 表亲信托型委托 318
A.7.16 表亲信托型重定向 319
A.8 中间模式定义 320
A.8.1 实现方法 320
A.8.2 检索型创建 321
A.8.3 检索型共享 322
A.8.4 对象标识符 323
A.8.5 对象递归 324
A.9 GoF 设计模式定义 325
A9.1 抽象工厂 325
A9.2 工厂方法 326
A9.3 装饰器 328
A9.4 代理 329
A9.5 职责链 330
A9.6 模板方法 331
参考文献 333
RobinWilliams世界著名的设计师、技术专家和畅销书作家。通过写书和授课,她已经影响了整整一代数字设计师。同时,作为Adobe和Ma
《痛苦典当行:南人诗歌绘本》内容简介:《痛苦典当行》精选“短诗王”南人的七十多首犀利诗作,搭配新锐插画师黄丽的三十多张奇诡
stephenc.dewhurst,贝尔实验室最早的c++程序员之一。他有着20多年的c++应用经验,涉及的应用领域包括编译器设计、安全交易、电子
《编写高质量代码:改善Python程序的91个建议》内容简介:在通往“Python技术殿堂”的路上,本书将为你编写健壮、优雅、高质量的Py
《爱的24则运算》内容简介:曾经做我最爱的人/你是否觉得荣耀光彩 这是一场无论如何都会结束的爱情 你是那种无论如何都应该跟你爱
本书概述了云计算的起源、发展以及商业模式,介绍了云计算的关键技术、典型应用以及开源软件和社区。云计算既是机遇也是挑战,中
《女生健康养护指南》内容简介:★ 800余万粉丝喜爱的科普作者“恩哥聊健康”邹世恩博士首部作品。★ 每个女性人手一本,贴心、实用
本书是EJB组件技术教程,专注于EJB的概念、方法、开发过程的介绍。全书共分为4个部分,首先对EJB编程基础进行介绍,其次重点关注
“本书是Summit以及CFAQ在线列表的许多参与者多年心血的结晶,是C语言界最为珍贵的财富之一。我向所有C语言程序员推荐本书。”—
《绿色经济发展与政策研究文集》内容简介:本书讨论了绿色增长监测指标体系的构建、家庭消费支出变化与二氧化碳排放量之间的关系,
ThemostauthoritativequickreferenceavailableforCSSprogrammers.Thishandyresourcegi...
《价值投资之茅台大博弈》内容简介:2010~2018年,知名投资人董宝珍重仓持有贵州茅台,经历了跌宕起伏的投资历程,其间他写作了数百
《TensorFlow机器学习实战指南(原书第2版)》内容简介:本书由资深数据科学家撰写,从实战角度系统讲解TensorFlow基本概念及各种应
《PyTorch深度学习实战》内容简介:本书帮助读者快速深入深度学习。在过去的几年里,我们看到深度学习成了新的动力。它从学术界一路
《文化传播与文化建构》内容简介:《文化传播与文化建构》为《世界历史评论》丛书第2辑,分为“专论”“评论”“专题论坛”和“文献
ThebookcoverstheforthcomingPylons0.9.7releaseandisavailbleforfreetoreadhereonlin...
《2014高技术发展报告》是中国科学院面向公众、面向决策人员的系列年度报告——《高技术发展报告》的第十五本。《2014高技术发展
Thisauthoritativetreatmentofthefundamentalsofmobilecommunicationsstressesthe"fun...
《版面设计网格构成》中的网格构成是现在版面设计最重要的基础修养之一。作为一种行之有效的版面设计形式法则,它将构成主义和秩
《培训精炼:36招成就高效讲师》内容简介:本书为培训师提炼了36个课堂培训技巧,能迅速帮助培训师提升培训技能,打造高效课堂,实