元素模式

出版日期:2014-7-1
ISBN:9787121234688
作者:Jason McC. Smith
页数:335页

内容概要

关于作者
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

作者简介

本书介绍了一类全新的设计模式,称为元素模式(Elemental Design Pattern),其为软件工程设计模式的研究和应用打下了基础。元素模式深深植根于软件程序设计理论的研究,但其目的却在于实践性和实用性。从程序设计的新手,到资深的开发工程师,都是元素模式的目标受众。它能够带领学生加入软件工业的大军,也能够为研究者打开新的思路。


 元素模式下载 更多精彩书评



发布书评

 
 


精彩书评 (总计1条)

  •     这本书译完至今已经有大半年了,电子工业出版社也在去年的九月正式出版了它。在此之后,我从审稿者以及读者手里得到的大部分反馈无非就是三个问题:为什么书名翻译成“元素模式”?这本书与《设计模式》这本书的关系是什么?这些模式有什么用?所以,我打算写一篇文章,谈谈我的看法。首先,这本《Elemental Design Patterns》的书名,如果按照中规中矩的译法应该翻译成“设计模式要素”,但看完全书,你会遇到一个问题,就是这本书讲的是16种可用各种编程语言实现的模式。换句话说,它是有实体的“模式”,而不是抽象的“要素”。所以似乎改成“元素级设计模式”更为合适。但作为一个学术性的,得了Jolt大奖的作品,用如此之长的书名有点不太合适。因此本书的第一译者高博兄与我反复讨论,最终定了这四个字的书名。我们希望它能激发起读者好奇心,并且让读者读完之后才能理解“元素”这两个字的精妙所在。接下来,我来说说它与GoF模式之间的关系。其实,关系就在“元素”这两个字上,元素在化学上对应的是原子,原子通常意味着不可再分性(当然,实际上还可以再分的,这里只是一个比喻)。作者在书中构建了一个设计空间,按照OOP中最简单的设计概念分成了几个不同的设计空间。然后用这种空间维度对现有的设计模式,主要就是GoF模式进行了分解。所以从粒度上来看,元素模式最重要的是其原子性,它被作者认为是不可再分的模式,而后者则是由元素模式组成的分子模式或者更大粒度的模式。这种思想在这本书中是至关重要的。最后再来谈谈“有什么用”的问题。通常我们提到单件、工厂这些模式的时候,很容易有意无意的把模式认识成模版,来生搬硬套,但如果我们把这些模式分解成元素模式,就很容易理解到它不过是一些设计套路的组合而已,而这种套路才是“模式”,它们是可以变化的,根据实际情况重新组合的,甚至还是可以作为反例的。它们并不是设计社区所流传的神话,后来者只能把它们供起来,生搬硬套。因此。模式的粒度越小,我们组合起来的灵活度就越高。当然了,和这个现实世界一样,你不知道原子的存在,物质也是这样组成的,这些模式你其实天天在用,只不过你是不是“有意识”的在用而已。这是一个设计经验的问题,比如java里面本身就用了很多工厂模式,但如果你没有意识到他是工厂模式,他可能就只是用来创建标准库的对象,一旦你自定义对象就不会追求这种创建方式的一致性,这样一来,后期维护的时候,由于你自己的库,和标准库之间有明显的设计差异,这会带来各种各样的问题。比如C++中,几乎一个库一种string类型就是一个典型的例子。元素模式的作用也是如此。

精彩短评 (总计7条)

  •     探究设计模式中的公共元素,附录中的ρ演算眼界大开。不过这本书想要像DP一样影响大师不可能了。
  •     可能和自己原来的期望有冲突,感觉作者自己说的很HIGH,相比GOF并没有特别突出的地方。
  •     太过理论性,参考价值很低
  •     作者自己独特的理解模式的方式 没有耐心仔细阅读
  •     element design patterns于design patterns,就像e于坐标系。
  •     把设计模式拆分出来,再组合起来
  •     很具有启发性,特别是对象相似度、对象类型相似度和方法相似度的EDP空间的描述,深刻剖析了OOP常见设计模式的要素。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024