正版二手书,欢迎选购
¥ 14.44 2.1折 ¥ 69 九品
库存2件
作者史密斯|高博|凌杰|徐平平
出版社电子工业出版社
ISBN9787121234682
出版时间2014-06
装帧平装
开本16开
定价69元
货号1016545533030416387
上书时间2024-12-03
本书介绍了一类全新的设计模式,称为元素模式(ElementalDesignPattern),其为软件工程设计模式的研究和应用打下了基础。元素模式深深植根于软件程序设计理论的研究,但其目的却在于实践性和实用性。从程序设计的新手,到资深的开发工程师,都是元素模式的目标受众。它能够带领学生加入软件工业的大军,也能够为研究者打开新的思路。
一言以蔽之,本书的写作目的在于为人所用。
读毕掩卷之时,你将在工具箱中收获一整套全新的工具,你将对日常的程序设计基本概念有更深入的理解,并知道它们是以怎样的方式联系和交互才产生了伟大的创意。元素模式,简称EDP,是一组基础的程序设计思想,我们本能地使用它们,而几乎不会去反思。但本书给予了它们正式的描述和标准的名字,以便在讨论时使用。本书还提供了一个框架来保证概念的一致性,并针对它们各自的特点加以比较。如果你是一个刚入学的学生,你将会了解到,如雨后春笋般涌现的设计模式文献并非要么全盘接受、要么全盘弃用的铁板一块,而是可以分解为若干片段来逐个取用、采用科学的方法论来一点点地理解的鸿篇巨著。如果你早已是软件设计和模式方面的行家里手,也仍然可以找到研究老办法的新视角,并发现我们这个行业里的新机会。
本书假定你对于设计模式领域曾多少有过一些了解和熟悉,但并未深度应用或研究过。仅仅知道存在这么一个领域,并对其有一些道听途说的认知,已经足够开展我们的讨论。本书并不期望你有程序设计理论或语言设计的背景,甚至不要求你精通一门面向对象的程序设计语言,只要你心怀渴望,想要学习软件设计的辩证思维即可。在本书中这些主题会有所涉及,但相关论述只能作为借助参考文献深入了解相关主题的出发点。本书将采用统一建模语言(UnifiedModelingLanguage,UML)来描述一些小例子,如果你还不了解UML,请参考[20]或[33]。你需要有一点点程序设计基础,面向过程或面向对象皆可,最好是后者,但这并不是必需的——本书内容已经把面向对象程序设计必知必会的信息打包成易于理解的模块了。经验丰富的面向对象程序开发工程师亦会有惊喜,发现自认为早已掌握的概念仍有新意,从而提升自己对于面向对象程序设计的整体认识。
许多程序员都把“设计模式社区”看作一个专家怪人的群体,认为自己并非其中一员。通过带给你新的视角,让你认识到设计模式是怎么来的,本书应该能说服你接受如下观点,即每一位程序员都是设计模式社区的一员,无论其自觉与否。每一位程序员在写下每一行代码的时候,都在运用设计模式,无论其是否这样去想。正因如此,有些选项近在眼前却被人弃如草芥。设计模式是一种共享的概念空间,我们在其中编织自己的电子梦想,并由此改变世界。是时候给出一张标识地界的地图了,这样我们才能更好地工作和享受。
遵循GangofFour(GoF)[21]树立的典范,本书亦分为两部分。前半部分讲述了本书为何而写,为谁而写,解释了什么是EDP,它源自何处,为何重要。该部分阐述的是基本理论,是EDP背后的“为什么”。该部分还介绍了模式实例记法(PatternInstanceNotation),这是一种能和各种粒度级别上的模式协同工作的图表系统。前半部分的收尾章节讨论了如何使用EDP来构建更大尺度的设计模式,以及如何与其协同工作。后半部分则是设计模式的大阅兵,以EDP为起点,通过案例来讲述它们如何以组合方式形成过渡模式,最后从EDP组合的视角重新审视了若干GoF设计模式。这里讲述的EDP只是全部EDP目录的一部分,只是首轮被定义和描述的基础模式集合。软件工程社区将不断地定义和精化更多的EDP,只要它们背后的概念能够生根发芽。我们期待你能参与其中。
热烈欢迎你的加入!
高博,盛大创新院高级研究员,曾担任微软上海GTEC支持工程师、中软国际上海分公司部门主管等职位。主要研究方向为C/C++语言、算法与数据结构,著有《C++语言:99个常见编程错误》、《微软的软件测试之道》、《源码中国――全球外包行业新原点》等书,并翻译《研究之美》一书。凌杰,资深软件开发工程师。徐平平,编程爱好者,主要研究方向为C/C++语言。
第1章 设计模式介绍
1.1 部落神话和部落智慧
1.2 艺术还是科学
1.2.1 生搬硬套地对待模式
1.2.2 模式和实现语言的相关性讨论
1.2.3 从神话到科学
第2章 元素模式
2.1 背景
2.2 定位、动机和方法
2.2.1 解析装饰器
2.2.2 纵身兔穴
2.2.3 语境
2.2.4 设计空间
2.3 核心EDP
2.4 结论
第3章 模式实例记法
3.1 基本原理
3.2 PIN 箱 513.2.1 简易PIN 箱
3.2.2 标准PIN 箱
3.2.3 扩展PIN 箱
3.2.4 堆叠PIN 箱与多重性
3.2.5 剥离和合并
3.3 结论
第4章 EDP的运用
4.1 模式的组成
同位素
4.2 改造装饰器
4.3 重构
4.4 大局观
4.5 为什么需要阅读附录
4.6 高级主题
4.6.1 重点文档与培训
4.6.2 指标
4.6.3 程序化分析
4.7 结论
第5章 EDP编目
创建对象
检索
继承
抽象接口
委托
重定向
集聚
递归
归复方法
扩展方法
委托型集聚
重定向型递归
信托型委托
信托型重定向
表亲型委托
表亲型重定向
第6章 中间模式结构
实现方法
检索型创建
检索型共享
对象标识符
对象递归
第7章 GoF设计模式成分解析
7.1 创建型模式
7.1.1 抽象工厂
7.1.2 工厂方法
7.2 结构型模式
7.2.1 装饰器
7.2.2 代理
7.3 行为型模式
7.3.1 职责链
7.3.2 模板方法
7.4 结论
附录 ρ演算
A.1 依赖运算符
A.2 传递律和同位素
A.3 相似性
A.4 EDP 形式化
A.5 组合及化简规则
A.6 模式实例记法和角色
A.7 EDP 定义
A.7.1 创建对象
A.7.2 检索
A.7.3 继承
A.7.4 抽象接口
A.7.5 委托
A.7.6 重定向
A.7.7 集聚
A.7.8 递归
A.7.9 归复方法
A.7.10 扩展方法
A.7.11 委托型集聚
A.7.12 重定向型递归
A.7.13 信托型委托
A.7.14 信托型重定向
A.7.15 表亲型委托
A.7.16 表亲型重定向
A.8 中间模式定义
A.8.1 实现方法
A.8.2 检索型创建
A.8.3 检索型共享
A.8.4 对象标识符
A.8.5 对象递归
A.9 GoF 设计模式定义
A9.1 抽象工厂
A9.2 工厂方法
A9.3 装饰器
A9.4 代理
A9.5 职责链
A9.6 模板方法
参考文献
即使是经验丰富的软件专业人士,也会发现要为其企业找到能带来实质价值的模式应用方式殊非易事。《元素模式》首次以全面的方法论介绍元素模式,给出标准的命名和描述,阐述它们的重要性,帮助人们比较和选用,充分利用模式的真正力量,将它们转化成实际的、更加简洁直接的软件实现,并得到非常不错的效果。
《元素模式》介绍一类全新的设计模式——元素模式(Elemental Design Pattern)。元素模式植根于软件程序设计理论,目的却在于实践性和实用性。程序设计新手与资深开发工程师都是元素模式的目标受众。它能带领学生加入软件工业大军,也能为研究者打开新思路。
√ 作者的非凡洞见被凝结为16种元素模式,其与四人帮设计模式的本质区别在于——元素模式建立在对象、字段、方法、类型这四个维度的设计空间上,让模式变得智能而鲜活,可以由所处位置直观感知其含义,不同模式间的关系同样可由位置表征。
√ 本书用代码、图形(PIN箱)和代数(ρ演算)三种方式来描述设计模式,每一种都可以高效地转换为实际工作代码。
√ 软工的本质即为结合抽象方法论与具体开发实践,因而本书提出的设计模式新术语、新方法,必将成为软件开发和软件工程的主流。
√ 掌握书中一整套全新工具,你将对程序设计基本概念有更深入的理解,并知道它们是以怎样的方式联系和交互才产生了伟大的创意。
海报:
— 没有更多了 —
以下为对购买帮助不大的评价