软件小设计

出版日期:2016-5
ISBN:978712128538X
作者:董向阳
页数:300页

书籍目录

第1章 设计概论
1
1.1 面向对象程序设计
1
1.1.1 面向对象思想——任督二脉
1
1.1.2 面向对象设计原则——九阳神功
2
1.1.3 模式——乾坤大挪移
3
1.1.4 重构——太极拳
4
1.1.5 抽象与组合——独孤九剑
5
1.2 面向过程与面向对象
5
1.3 设计的宏观面貌
8
1.3.1 开发模式:自顶向下和自底向上
8
1.3.2 开发方式:迭代
9
1.3.3 开发结果:模块化
10
1.4 设计的微观世界
10
1.4.1 函数
10
1.4.2 对象
12
1.5 小结
15
第2章 设计原则
16
2.1 通用原则
16
2.1.1 KISS原则
16
2.1.2 代码之“形”
17
2.2 核心原则
20
2.2.1 单一职责原则(SRP):做一个专一的人
20
2.2.2 开放封闭原则(OCP):改造世界大部分不是破坏原来的秩序
21
2.2.3 里氏替换原则(LSP):长大后,我就成了你
24
2.2.4 接口分离原则(ISP):不要一口吃成胖子
26
2.2.5 依赖倒置原则(DIP):抽象的艺术才有生命力
27
2.3 扩展原则
28
2.3.1 迪米特法则:尽量不与无关的类发生关系
28
2.3.2 好莱坞法则:不要调用我,让我调用你
29
2.3.3 优先使用组合原则:多使用组合,少使用继承
31
2.4 小结
33
第3章 设计过程
34
3.1 设计目标
35
3.1.1 对象设计目标——“高内聚+低耦合”
35
3.1.2 对象设计过程——“折中+迭代+重构”
36
3.2 对象来源
38
3.3 对象创建
41
3.3.1 直接创建对象
41
3.3.2 间接创建对象
44
3.3.3 对象创建时机
51
3.4 对象管理
57
3.4.1 线性结构——集合对象
57
3.4.2 树形组合结构
65
3.5 对象交互
71
3.5.1 组合——直接引用,互通有无
71
3.5.2 中介者——间接通信
74
3.5.3 事件——使用回调函数通信
77
3.5.4 交互即耦合
84
3.6 对象存储
84
3.6.1 文件存储
85
3.6.2 数据库存储
94
3.7 访问控制
114
3.8 组织协作
132
3.8.1 代码的组织方式——“同步+异步+多线程”
132
3.8.2 业务的组织方式
138
3.9 对象布局
155
3.9.1 进入业务逻辑系统的第一道门槛——“Controller”
155
3.9.2 为什么要分层——分层的意义
155
3.9.3 如何分层——价值导向
156
3.9.4 层的对接——模块化与面向接口编程
171
3.9.5 接口的转换——适配器
172
3.9.6 接口的简化——门面
175
3.9.7 层的载体——包
179
3.9.8 分层的代价——效率和复杂性
180
3.9.9 层效率的有益补充
180
3.10 应对变化
183
3.10.1 变化的根源
184
3.10.2 变化的种类
184
3.10.3 处理变化的原则
186
3.10.4 应对变化的设计思路
189
3.11 小结
199
第4章 模式
200
4.1 模式定义
200
4.2 模式的意义
202
4.3 模式有缺点吗
203
4.4 设计的四个阶段
206
4.4.1 第一个阶段:设计不足
207
4.4.2 第二个阶段:模仿设计
208
4.4.3 第三个阶段:过度设计
208
4.4.4 第四个阶段:适度设计
213
4.5 反模式
214
4.5.1 开发流程反模式
214
4.5.2 数据库设计反模式
215
4.5.3 密码管理反模式
217
4.5.4 .NET开发反模式
217
4.6 小结
220
第5章 重构
221
5.1 重构动机
221
5.1.1 软件代码是会腐烂的
222
5.1.2 破窗效应
223
5.1.3 技术债务
224
5.2 重构的定义
224
5.3 重构难题
224
5.3.1 技术上的难题
225
5.3.2 管理上的难题
225
5.3.3 个人难题——程序员心理学
226
5.4 好代码长什么样
226
5.5 重构技法
230
5.5.1 基本技法——重命名
235
5.5.2 第一种技法——转移职责
237
5.5.3 第二种技法——封装细节
243
5.5.4 第三种技法——抽象对象
254
5.6 重构实施
259
5.6.1 重构的实施方式
259
5.6.2 重构的质量
261
5.7 小结
266
第6章 回到起点
267
6.1 忘掉模式
267
6.2 忘掉对象
269
6.3 回到起点
276
6.3.1 设计原本
277
6.3.2 设计的静态性
277
6.3.3 设计的动态性
289
后记
292

作者简介

《软件小设计》从最基本编程理论开始,探讨了软件设计中的基本概念,比如过程、对象、封装、继承、多态等;然后,在理清这些概念的基础上,书中集中探讨了构建好对象的若干原则;随后,在这些思想和原则的基础上,书中使用了大量的例子和篇幅分析了软件设计过程中可能遇到的典型问题及可能的解决方案。最后,《软件小设计》会尝试脱离面向对象设计经验的束缚,直面设计的自然面貌:设计也许不轻松,但是也许并不那么的复杂。


 软件小设计下载



发布书评

 
 


精彩短评 (总计3条)

  •     没什么收获
  •     作者应该是看了不少大部头之后 总结的这么一本 还是挺值得一看的
  •     花了一个周末看完了,通俗易懂,各个方面都有涉及,有收获。不过要想有大的提升还是需要仔细研究那几本经典,多练多思考,融汇贯通。
 

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

零度图书网 @ 2024