《面向对象设计原理与模式 Java版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)斯科瑞著;腾灵灵,仲婷译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302196716
  • 页数:310 页
图书介绍:本书介绍:面向对象的基础知识;优雅性与实现继承;Money类的简单案例研究;绘图应用程序案例研究。

第1章 面向对象设计与实现的优雅性 1

1.1存在的问题 2

1.2软件工程 4

1.3设计优雅软件的标准 4

1.4说明 6

1.5练习题 7

1.6参考文献 7

第2章 面向对象的基础知识 8

2.1面向对象编程与非面向对象编程 8

2.1.1面向对象编程与非面向对象编程简介 8

2.1.2面向对象语言 9

2.1.3面向对象编程的优点 10

2.2 Java中的类、对象、变量和方法 10

2.3插入语:Java中的类方法和类变量 12

2.3.1类变量及类方法简介 12

2.3.2 Java中的类变量及其使用 13

2.3.3 Java中的类方法及其使用 13

2.3.4小结 14

2.4 UML类图简介 14

2.5实现继承 16

2.5.1特殊化 16

2.5.2 Java中的Object父类 18

2.5.3特殊化的另一种使用 19

2.5.4泛化 20

2.5.5 Java中的单继承 21

2.6类型、子类型和接口继承 22

2.6.1类型 22

2.6.2多态 24

2.6.3多态的价值 24

2.7接口与抽象类 27

2.8动态方法调用 28

2.9重载与重写 31

2.10控制对方法和数据的访问 35

2.11小结 37

2.12练习题 38

2.13参考文献 41

第3章 优雅性与实现继承 42

3.1关于继承的四个观点 42

3.1.1代码重用观点 42

3.1.2 Is-A观点 43

3.1.3公共接口观点 43

3.1.4多态观点 43

3.2代码重用的充分性 43

3.3代码重用联合Is-A关系的充分性 44

3.4代码重用、Is-A关系以及公共接口的充分性 48

3.5 Has-A关系和UML关联关系 51

3.6代码重用、Is-A关系、公共接口以及多态的充分性 51

3.7使用实现继承的代价 52

3.8示例:人、女人和男人 55

3.9示例:绘制多边形 55

3.10示例:排序 59

3.11 Java中数组的子类化 67

3.12回顾:继承与引用 69

3.13小结 71

3.14练习题 72

3.15参考文献 75

第4章 优雅性与方法 76

4.1编码风格和命名约定 77

4.2方法与分解 78

4.3内聚方法 80

4.4结构良好的对象和类不变式 82

4.5内部文档 83

4.6外部文档 85

4.7案例分析:重写Java中的equals方法 89

4.8案例分析:重写Java中的clone方法 96

4.9重构 100

4.10代码优化 108

4.11小结 108

4.12练习题 109

4.13参考文献 117

第5章 优雅性和类 119

5.1开始寻找类和类之间的关系 119

5.1.1提取名词和动词 122

5.1.2使用应用领域的概念 122

5.1.3使用CRC卡片 122

5.1.4类协议 125

5.1.5小结 127

5.2最大化内聚度 128

5.3责任的分离 129

5.4避免冗余 133

5.5完整一致的协议 135

5.6回顾:可变性与不可变性 138

5.7为改变而设计 142

5.8迪米特法则 147

5.9小结 150

5.10练习题 151

5.11参考文献 158

第6章 Money类的简单案例研究 160

6.1 Money的朴素表示法 160

6.2 USMoney类 162

6.3使用Money的子类来表示不同的货币 164

6.4使用具有一个币种属性的单一Money类 165

6.5混合币种与简单币种 167

6.6币种间转换 169

6.7 MoneyConverter类的问题 170

6.8 MixedMoney类和SimplemMoney类的问题 172

6.9仅用MixedMoney类 173

6.10另一种使用二叉树的实现方法 174

6.11小结 177

6.12练习题 177

6.13参考文献 180

第7章 设计模式介绍 182

7.1适配器模式 183

7.2单例模式 186

7.3迭代器模式 189

7.4命令模式 194

7.5工厂 197

7.6小结 200

7.7练习题 200

7.8参考文献 203

第8章 绘图应用程序案例研究 204

8.1用户界面 205

8.2观察者模式 206

8.3图形层次 213

8.4模型-视图-控制器体系结构 216

8.5原型模式 220

8.6状态模式 222

8.7组成模式 226

8.8备忘录模式 230

8.9小结 234

8.10练习题 234

8.11参考文献 238

第9章 语言解析器案例研究 239

9.1 VSSJ:Java的一个非常简单的子集 239

9.2美化输出 241

9.3扫描 241

9.4简单的美化输出程序 243

9.5解释器模式 246

9.6 AST设计 247

9.7方法发现器 253

9.8优雅实现的一些问题 255

9.9访问者模式 258

9.10访问者和双重分派 263

9.11外观模式 264

9.12解析器和生成器 266

9.13记号、访问者及多态 269

9.14小结 276

9.15练习题 276

9.16参考文献 280

附录A UML介绍 281

附录B 编码约定和Javadoc注释 294