图书介绍
浮现式设计 专业软件开发的演进本质PDF|Epub|txt|kindle电子书版本下载
- (美)贝恩著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115259783
- 出版时间:2011
- 标注页数:279页
- 文件大小:38MB
- 文件页数:296页
- 主题词:软件开发
PDF下载
下载说明
浮现式设计 专业软件开发的演进本质PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 软件开发这个职业1
1.1人类制作软件已经有多久的历史了1
1.2软件开发是一种什么样的活动2
1.3软件开发缺少了什么4
1.4谁说了算6
1.5独特性6
第2章 从衣橱到探月8
2.1软件开发中的模式和专业化8
2.2 Andrea的衣橱9
2.3探月13
2.3.1因素的连锁变化16
2.3.2不同的因素导致不同的设计16
2.3.3还有更多环境因素17
2.3.4成本和获益18
2.3.5火星探险18
2.4模式的价值19
2.5小结20
第3章 软件开发的本质21
3.1失败率过高21
3.2成功的定义22
3.3 Standish Group23
3.4做了错误的事情24
3.5做事的方式错了25
3.6随着时间的推移,软件开发也有所改善27
3.7一个原因:土木工程的类比27
3.8放弃希望29
3.9有时等待和拖延也是必要的30
3.10桥是硬的,软件是软的30
3.11我们在变化的海洋中游泳31
3.12接受变化31
3.13拥抱变化32
3.14利用变化32
3.15 更好的类比:不断演进的系统34
3.16小结37
第4章 代码的演进:初级阶段38
4.1用对象结构来代替过程逻辑38
4.2面向对象和模式的起源39
4.3一个示例:简单条件和Proxy模式40
4.4下一步:多路径条件选择43
4.5为什么要采用对象结构45
4.6从多个条件中选择一个46
4.7小结46
第5章 使用和发现模式48
5.1根据上下文进行设计:我做的另一个木匠活48
5.2模式引出了另一个看问题的角度55
5.3模式提供了一种讨论设计的语言55
5.4本书中的模式56
5.5小结56
第6章 软件开发金字塔58
6.1构成专业的元素58
6.2一种形象的表示60
6.3小结60
第7章 注重软件质量61
7.1封装62
7.2内聚62
7.2.1方法内聚63
7.2.2视角层的内聚65
7.2.3类内聚66
7.2.4内聚到何种程度才足够67
7.3耦合67
7.3.1有意耦合与意外耦合68
7.3.2耦合类型69
7.4冗余73
7.5可测试性77
7.6可读性78
7.7软件的病症79
7.7.1内聚性较差的信号79
7.7.2意外耦合或不合逻辑耦合的信号80
7.7.3冗余的信号81
7.8小结81
第8章 注重原则和智慧结晶83
8.1使用与创建分离83
8.1.1 Fowler的三层视角83
8.1.2另一种视角84
8.1.3使用的视角85
8.1.4一个单独的视角:创建86
8.1.5最后考虑构造细节87
8.1.6回到现实88
8.2开闭原则89
8.2.1类级的开闭原则90
8.2.2方法级的开闭原则91
8.3依赖倒置原则92
8.4 GoF的建议93
8.4.1设计方法的接口93
8.4.2设计类的接口94
8.4.3 GoF:优先使用对象聚合而非类继承95
8.5 GoF:在设计中思考什么应该变化并封装会发生变化的概念98
8.6小结100
第9章 注重实践101
9.1统一编码风格101
9.1.1注释102
9.1.2命名类、方法和变量103
9.1.3编码标准的好处104
9.2意图导向编程105
9.3封装构造函数107
9.3.1原则与实践110
9.3.2做出决定110
9.4公共性-可变性分析111
9.5实践与自由114
9.6小结115
第10章 注重纪律:单元测试116
10.1测试的经济学116
10.1.1单元测试117
10.1.2先写测试119
10.2 JUnit框架120
10.2.1 JUnit基础知识121
10.2.2 JUnit示例122
10.2.3 Rule java:先编码,再测试122
10.2.4 RuleContainer java:先测试,再编码128
10.2.5消除冗余:@Before和@After135
10.2.6自动化批量测试137
10.2.7异常和单元测试139
10.3模拟对象141
10.3.1 MockObject框架142
10.3.2伪对象145
10.3.3依赖注入和Endo-Testing技巧146
10.3.4 Endo-Testing147
10.4小结148
第11章 注重纪律:重构149
11.1重构质量糟糕的代码150
11.2重构质量优秀的代码151
11.3结构变化与功能变化152
11.4重构可帮助你做出选择153
11.5模式可以成为重构的目标154
11.6避免重构:预构154
11.7重构技巧155
11.8重构遗留代码162
11.9小结164
第12章 测试驱动开发165
12.1何谓测试驱动开发165
12.1.1测试驱动与先写测试165
12.1.2从单元测试的角度来设计166
12.2测试与质量167
12.2.1测试与内聚167
12.2.2测试与耦合168
12.2.3测试与冗余169
12.3测试驱动开发与模式169
12.3.1 Strategy模式169
12.3.2乌龟站在乌龟上,一直向下170
12.3.3模拟对象/模拟乌龟171
12.4模拟对象172
12.5模拟乌龟174
12.6测试Decorator模式174
12.7小结178
第13章 模式与因素179
13.1在演进的设计中做决策179
13.2 Christopher Apexander与他所提出的“因素”180
13.2.1信号处理器示例180
13.2.2 PKZip示例184
13.2.3测试与因素186
13.3更多选择,更多因素187
13.4小结190
第14章 浮现式设计:案例分析191
14.1问题领域:MWave公司191
14.2团队192
14.3最简单的能够正常运作的设计194
14.4新需求:更复杂的机器196
14.5顺便介绍一下198
14.6更多好消息199
14.7小结:设计是一次漫长而奇特的旅行200
第15章 结束语:展望2020年202
附录A 演进路径204
附录B 示例中用到的模式简介213
附录C 有用幻觉之原理274
参考书目279