![面向对象设计实践指南 Ruby语言描述](https://cover.qianqiantushu.cc/98/s691c206.jpg)
![面向对象设计实践指南 Ruby语言描述](https://cover.qianqiantushu.cc/98/s691c206.jpg)
面向对象设计实践指南 Ruby语言描述PDF电子书下载
- 电子书积分:10 积分如何计算积分?
- 作 者:(美)梅茨著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2014
- ISBN:9787115332455
- 页数:208 页
第1章 面向对象设计 1
1.1设计赞歌 2
1.1.1设计解决的问题 2
1.1.2为何难以更改 2
1.1.3实用的设计定义 3
1.2设计工具 4
1.2.1设计原则 4
1.2.2设计模式 5
1.3设计行为 6
1.3.1设计失败 6
1.3.2设计时机 7
1.3.3设计评判 8
1.4面向对象编程简介 10
1.4.1过程式语言 10
1.4.2面向对象语言 11
1.5小结 12
第2章 设计具有单一职责的类 13
2.1决定类的内容 13
2.1.1将方法分组成类 14
2.1.2组织代码以便于更改 14
2.2创建具有单一职责的类 15
2.2.1示例程序:自行车和齿轮 15
2.2.2为何单一职责原则很重要 18
2.2.3确定一个类是否具有单一职责 19
2.2.4确定何时做出设计决策 19
2.3编写拥抱变化的代码 20
2.3.1要依赖行为,不依赖数据 21
2.3.2全面推行单一职责原则 25
2.4最后是真实的轮子需求 28
2.5小结 30
第3章 管理依赖关系 31
3.1理解依赖关系 31
3.1.1认识依赖关系 32
3.1.2对象间的耦合 33
3.1.3其他依赖关系 34
3.2编写松耦合的代码 35
3.2.1注入依赖关系 35
3.2.2隔离依赖关系 37
3.2.3移除参数顺序依赖关系 40
3.3管理依赖方向 45
3.3.1反转依赖关系 45
3.3.2选择依赖方向 47
3.4小结 50
第4章 创建灵活的接口 51
4.1理解接口 51
4.2定义接口 53
4.2.1公共接口 53
4.2.2私有接口 53
4.2.3职责、依赖关系和接口 54
4.3找出公共接口 54
4.3.1示例程序:自行车旅游公司 55
4.3.2构建意图 55
4.3.3使用时序图 56
4.3.4请询问“要什么”,别告知“如何做” 59
4.3.5寻求上下文独立 61
4.3.6信任其他对象 62
4.3.7使用消息来发现对象 63
4.3.8创建基于消息的应用程序 65
4.4编写能展现其(内在)最好面的代码 65
4.4.1创建显式接口 65
4.4.2善用其他类的公共接口 67
4.4.3避免依赖私有接口 67
4.4.4最小化上下文 67
4.5迪米特法则 68
4.5.1定义迪米特法则 68
4.5.2违规的后果 68
4.5.3避免违规 70
4.5.4听从迪米特法则 70
4.6小结 71
第5章 使用鸭子类型技术降低成本 73
5.1理解鸭子类型 73
5.1.1鸭子类型概述 74
5.1.2让问题复杂些 75
5.1.3发现鸭子类型 78
5.1.4鸭子类型的后果 81
5.2编写依赖于鸭子类型的代码 82
5.2.1识别出隐藏的鸭子类型 82
5.2.2信任你的鸭子类型 84
5.2.3记录好鸭子类型 84
5.2.4在鸭子类型之间共享代码 85
5.2.5合理选择鸭子类型 85
5.3克服对鸭子类型的恐惧 86
5.3.1使用静态类型颠覆鸭子类型 86
5.3.2静态类型与动态类型 87
5.3.3拥抱动态类型 88
5.4小结 89
第6章 通过继承获得行为 91
6.1理解经典的继承 91
6.2弄清使用继承的地方 92
6.2.1从一个具体类开始 92
6.2.2嵌入多种类型 94
6.2.3找出嵌入的类型 96
6.2.4选择继承 96
6.2.5描绘出继承关系 98
6.3误用继承 98
6.4找出抽象 100
6.4.1创建抽象父类 100
6.4.2提升抽象行为 103
6.4.3从具体分离出抽象 105
6.4.4使用模板方法模式 107
6.4.5实现所有模板方法 109
6.5管理父类与子类之间的耦合 110
6.5.1理解耦合 111
6.5.2使用钩子消息解耦子类 115
6.6小结 119
第7章 使用模块共享角色行为 121
7.1理解角色 121
7.1.1找出角色 122
7.1.2组织职责 123
7.1.3删除不必要的依赖关系 125
7.1.4编写具体代码 126
7.1.5提取抽象 129
7.1.6查找方法 132
7.1.7继承角色行为 135
7.2编写可继承的代码 136
7.2.1识别出反模式 136
7.2.2坚持抽象 136
7.2.3重视契约 137
7.2.4使用模板方法模式 138
7.2.5预先将类解耦 138
7.2.6创建浅层结构 138
7.3小结 139
第8章 组合对象 141
8.1 Parts组合成Bicycle 141
8.1.1更新Bicycle类 141
8.1.2创建Parts层次结构 143
8.2组合成Parts对象 145
8.2.1创建Part 146
8.2.2让Parts对象更像一个数组 149
8.3制造Parts 152
8.3.1创建PartsFactory 153
8.3.2借助PartsFactory 154
8.4组合成Bicycle 155
8.5继承和组合的抉择 159
8.5.1接受继承带来的后果 159
8.5.2接受组合带来的后果 161
8.5.3选择关系 162
8.6小结 164
第9章 设计最划算的测试 165
9.1意图测试 166
9.1.1了解测试的意图 166
9.1.2了解测试的内容 168
9.1.3了解测试的时机 170
9.1.4了解测试的方法 171
9.2测试输入消息 173
9.2.1删除未使用的接口 174
9.2.2证明公共接口 175
9.2.3隔离测试对象 176
9.2.4注入使用类的依赖关系 178
9.2.5将依赖关系注入成角色 180
9.3测试私有方法 184
9.3.1在测试过程中忽略私有方法 184
9.3.2从测试类里移除私有方法 185
9.3.3选择测试私有方法 185
9.4测试输出消息 186
9.4.1忽略查询消息 186
9.4.2证明命令消息 187
9.5测试鸭子类型 189
9.5.1测试角色 189
9.5.2用角色测试验证测试替身 194
9.6测试继承代码 198
9.6.1指定继承接口 198
9.6.2指定子类责任 201
9.6.3测试独特行为 204
9.7小结 207
后记 208
- 《语文教育教学实践探索》陈德收 2018
- 《彼得·布鲁克导演实践研究》邓小玲著 2019
- 《反思性实践》胡红梅, 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《环境影响评价公众参与理论与实践研究》樊春燕主编 2019
- 《学校特色教育探索与实践》管升起著 2019
- 《幼儿园课程资源丛书 幼儿园语言教育资源》周兢编 2015
- 《麦肯锡精英这样实践基本功》(日)户塚隆将著 2019
- 《高等学校“十三五”规划教材 C语言程序设计》翟玉峰责任编辑;(中国)李聪,曾志华,江伟 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019