搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
软件小设计
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121285387
  • 作      者:
    董向阳编著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2016
收藏
编辑推荐

软件设计不是那种空中楼阁,不是那种读完不知所云的神秘图谶,恰恰相反,设计是每时每刻都在进行的日常活动,它一点都不神秘,也没那么复杂。

本书力图从基本的需求出发,通过思考和分析,总结设计过程的每个环节中可能出现的问题和解决的方法,这样就把设计从离散的点连起来,从而可以让读者了解设计的真实面貌。

展开
作者简介

董向阳,上海梵讯网络技术有限公司项目经理,人们口中常说的“程序猿”,而且是高龄的(入行10年),.NET和Node.JS的铁粉,模式和架构爱好者,热衷于收集各种编程新技术、新框架;对于大师们的设计方案,向来都是先鄙视之,然后再膜拜之;“空”是其*为信奉的座右铭。

展开
内容介绍

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

展开
目录

目录
第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)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证