《高等学校设计模式课程系列教材 C#设计模式 第2版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:刘伟,胡志刚编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302485704
  • 页数:419 页
图书介绍:本书使用C#语言详细讲解了GoF设计模式。全书共分为26章,内容包括设计模式概述、面向对象设计原则、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式、适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式、职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。

第1章 设计模式概述 1

1.1设计模式的诞生与发展 1

1.1.1模式的诞生与定义 1

1.1.2软件模式概述 3

1.1.3设计模式的发展 3

1.2设计模式的定义与分类 4

1.2.1设计模式的定义 4

1.2.2设计模式的基本要素 5

1.2.3设计模式的分类 6

1.3GoF设计模式简介 7

1.4设计模式的优点 9

1.5本章小结 10

1.6习题 10

第2章 面向对象设计原则 12

2.1面向对象设计原则概述 12

2.2单一职责原则 13

2.3开闭原则 15

2.4里氏代换原则 15

2.5依赖倒转原则 16

2.6接口隔离原则 18

2.7合成复用原则 20

2.8迪米特法则 22

2.9本章小结 24

2.10习题 24

第3章 简单工厂模式 27

3.1创建型模式 27

3.2简单工厂模式概述 28

3.3简单工厂模式的结构与实现 29

3.3.1简单工厂模式的结构 29

3.3.2简单工厂模式的实现 30

3.4简单工厂模式的应用实例 31

3.5创建对象与使用对象 36

3.6简单工厂模式的简化 39

3.7简单工厂模式的优缺点与适用环境 39

3.7.1简单工厂模式的优点 39

3.7.2简单工厂模式的缺点 39

3.7.3简单工厂模式的适用环境 40

3.8本章小结 40

3.9习题 41

第4章 工厂方法模式 43

4.1工厂方法模式概述 43

4.2工厂方法模式的结构与实现 45

4.2.1工厂方法模式的结构 45

4.2.2工厂方法模式的实现 45

4.3工厂方法模式的应用实例 46

4.4配置文件与反射 50

4.5工厂方法的重载 51

4.6工厂方法的隐藏 53

4.7工厂方法模式的优缺点与适用环境 54

4.7.1工厂方法模式的优点 54

4.7.2工厂方法模式的缺点 55

4.7.3工厂方法模式的适用环境 55

4.8本章小结 55

4.9习题 56

第5章 抽象工厂模式 58

5.1产品等级结构与产品族 58

5.2抽象工厂模式概述 59

5.3抽象工厂模式的结构与实现 60

5.3.1抽象工厂模式的结构 60

5.3.2抽象工厂模式的实现 61

5.4抽象工厂模式的应用实例 62

5.5开闭原则的倾斜性 69

5.6抽象工厂模式的优缺点与适用环境 69

5.6.1抽象工厂模式的优点 69

5.6.2抽象工厂模式的缺点 70

5.6.3抽象工厂模式的适用环境 70

5.7本章小结 70

5.8习题 71

第6章 建造者模式 73

6.1建造者模式概述 73

6.2建造者模式的结构与实现 74

6.2.1建造者模式的结构 74

6.2.2建造者模式的实现 75

6.3建造者模式的应用实例 78

6.4指挥者类的深入讨论 84

6.5建造者模式的优缺点与适用环境 88

6.5.1建造者模式的优点 88

6.5.2建造者模式的缺点 88

6.5.3建造者模式的适用环境 88

6.6本章小结 89

6.7习题 89

第7章 原型模式 91

7.1原型模式概述 91

7.2原型模式的结构与实现 92

7.2.1原型模式的结构 92

7.2.2浅克隆与深克隆 93

7.2.3原型模式的实现 94

7.3原型模式的应用实例 97

7.4原型管理器 101

7.5原型模式的优缺点与适用环境 102

7.5.1原型模式的优点 102

7.5.2原型模式的缺点 102

7.5.3原型模式的适用环境 102

7.6本章小结 103

7.7习题 103

第8章 单例模式 105

8.1单例模式概述 105

8.2单例模式的结构与实现 106

8.2.1单例模式的结构 106

8.2.2单例模式的实现 107

8.3单例模式的应用实例 108

8.4饿汉式单例与懒汉式单例 111

8.5单例模式的优缺点与适用环境 114

8.5.1单例模式的优点 114

8.5.2单例模式的缺点 114

8.5.3单例模式的适用环境 114

8.6本章小结 115

8.7习题 115

第9章 适配器模式 117

9.1结构型模式 117

9.2适配器模式概述 118

9.3适配器模式的结构与实现 119

9.3.1适配器模式的结构 119

9.3.2适配器模式的实现 120

9.4适配器模式的应用实例 122

9.5缺省适配器模式 127

9.6双向适配器 127

9.7适配器模式的优缺点与适用环境 128

9.7.1适配器模式的优点 129

9.7.2适配器模式的缺点 129

9.7.3适配器模式的适用环境 129

9.8本章小结 130

9.9习题 130

第10章 桥接模式 132

10.1桥接模式概述 132

10.2桥接模式的结构与实现 134

10.2.1桥接模式的结构 134

10.2.2桥接模式的实现 134

10.3桥接模式的应用实例 136

10.4桥接模式与适配器模式联用 142

10.5桥接模式的优缺点与适用环境 143

10.5.1桥接模式的优点 143

10.5.2桥接模式的缺点 143

10.5.3桥接模式的适用环境 144

10.6本章小结 144

10.7习题 144

第11章 组合模式 146

11.1组合模式概述 146

11.2组合模式的结构与实现 148

11.2.1组合模式的结构 148

11.2.2组合模式的实现 148

11.3组合模式的应用实例 150

11.4透明组合模式与安全组合模式 156

11.5组合模式的优缺点与适用环境 157

11.5.1组合模式的优点 158

11.5.2组合模式的缺点 158

11.5.3组合模式的适用环境 158

11.6本章小结 158

11.7习题 159

第12章 装饰模式 161

12.1装饰模式概述 161

12.2装饰模式的结构与实现 162

12.2.1装饰模式的结构 162

12.2.2装饰模式的实现 163

12.3装饰模式的应用实例 165

12.4透明装饰模式与半透明装饰模式 170

12.5装饰模式的优缺点与适用环境 171

12.5.1装饰模式的优点 171

12.5.2装饰模式的缺点 172

12.5.3装饰模式的适用环境 172

12.6本章小结 172

12.7习题 173

第13章 外观模式 175

13.1外观模式概述 175

13.2外观模式的结构与实现 177

13.2.1外观模式的结构 177

13.2.2外观模式的实现 177

13.3外观模式的应用实例 179

13.4抽象外观类 183

13.5外观模式的优缺点与适用环境 186

13.5.1外观模式的优点 186

13.5.2外观模式的缺点 187

13.5.3外观模式的适用环境 187

13.6本章小结 187

13.7习题 188

第14章 享元模式 190

14.1享元模式概述 190

14.2享元模式的结构与实现 191

14.2.1享元模式的结构 191

14.2.2享元模式的实现 192

14.3享元模式的应用实例 194

14.4有外部状态的享元模式 198

14.5单纯享元模式和复合享元模式 201

14.6享元模式的优缺点与适用环境 202

14.6.1享元模式的优点 202

14.6.2享元模式的缺点 202

14.6.3享元模式的适用环境 202

14.7本章小结 202

14.8习题 203

第15章 代理模式 205

15.1代理模式概述 205

15.2代理模式的结构与实现 206

15.2.1代理模式的结构 206

15.2.2代理模式的实现 207

15.3代理模式的应用实例 209

15.4远程代理 213

15.5虚拟代理 214

15.6缓冲代理 214

15.7代理模式的优缺点与适用环境 216

15.7.1代理模式的优点 216

15.7.2代理模式的缺点 217

15.7.3代理模式的适用环境 217

15.8本章小结 217

15.9习题 218

第16章 职责链模式 220

16.1行为型模式 221

16.2职责链模式概述 222

16.3职责链模式的结构与实现 223

16.3.1职责链模式的结构 223

16.3.2职责链模式的实现 224

16.4职责链模式的应用实例 225

16.5纯与不纯的职责链模式 232

16.6职责链模式的优缺点与适用环境 232

16.6.1职责链模式的优点 232

16.6.2职责链模式的缺点 233

16.6.3职责链模式的适用环境 233

16.7本章小结 233

16.8习题 234

第17章 命令模式 236

17.1命令模式概述 236

17.2命令模式的结构与实现 237

17.2.1命令模式的结构 237

17.2.2命令模式的实现 238

17.3命令模式的应用实例 240

17.4实现命令队列 244

17.5记录请求日志 245

17.6实现撤销操作 246

17.7宏命令 249

17.8命令模式的优缺点与适用环境 249

17.8.1命令模式的优点 249

17.8.2命令模式的缺点 250

17.8.3命令模式的适用环境 250

17.9本章小结 251

17.10习题 251

第18章 解释器模式 253

18.1解释器模式概述 253

18.2文法规则和抽象语法树 254

18.3解释器模式的结构与实现 255

18.3.1解释器模式的结构 255

18.3.2解释器模式的实现 256

18.4解释器模式的应用实例 258

18.5解释器模式的优缺点与适用环境 265

18.5.1解释器模式的优点 265

18.5.2解释器模式的缺点 265

18.5.3解释器模式的适用环境 265

18.6本章小结 266

18.7习题 266

第19章 迭代器模式 268

19.1迭代器模式概述 268

19.2迭代器模式的结构与实现 269

19.2.1迭代器模式的结构 269

19.2.2迭代器模式的实现 270

19.3迭代器模式的应用实例 272

19.4使用内部类实现迭代器 278

19.5.NET内置迭代器 279

19.6迭代器模式的优缺点与适用环境 282

19.6.1迭代器模式的优点 282

19.6.2迭代器模式的缺点 282

19.6.3迭代器模式的适用环境 283

19.7本章小结 283

19.8习题 283

第20章 中介者模式 285

20.1中介者模式概述 285

20.2中介者模式的结构与实现 287

20.2.1中介者模式的结构 287

20.2.2中介者模式的实现 288

20.3中介者模式的应用实例 290

20.4扩展中介者与同事类 296

20.5中介者模式的优缺点与适用环境 300

20.5.1中介者模式的优点 300

20.5.2中介者模式的缺点 300

20.5.3中介者模式的适用环境 300

20.6本章小结 301

20.7习题 301

第21章 备忘录模式 303

21.1备忘录模式概述 303

21.2备忘录模式的结构与实现 304

21.2.1备忘录模式的结构 304

21.2.2备忘录模式的实现 305

21.3备忘录模式的应用实例 308

21.4实现多次撤销 312

21.5备忘录模式的优缺点与适用环境 315

21.5.1备忘录模式的优点 315

21.5.2备忘录模式的缺点 315

21.5.3备忘录模式的适用环境 315

21.6本章小结 316

21.7习题 316

第22章 观察者模式 318

22.1观察者模式概述 318

22.2观察者模式的结构与实现 319

22.2.1观察者模式的结构 319

22.2.2观察者模式的实现 320

22.3观察者模式的应用实例 322

22.4观察者模式与.NET中的委托事件模型 327

22.5观察者模式与MVC 330

22.6观察者模式的优缺点与适用环境 330

22.6.1观察者模式的优点 330

22.6.2观察者模式的缺点 331

22.6.3观察者模式的适用环境 331

22.7本章小结 331

22.8习题 332

第23章 状态模式 333

23.1状态模式概述 333

23.2状态模式的结构与实现 334

23.2.1状态模式的结构 334

23.2.2状态模式的实现 335

23.3状态模式的应用实例 337

23.4共享状态 344

23.5使用环境类实现状态的转换 348

23.6状态模式的优缺点与适用环境 351

23.6.1状态模式的优点 351

23.6.2状态模式的缺点 351

23.6.3状态模式的适用环境 352

23.7本章小结 352

23.8习题 352

第24章 策略模式 355

24.1策略模式概述 355

24.2策略模式的结构与实现 356

24.2.1策略模式的结构 356

24.2.2策略模式的实现 357

24.3策略模式的应用实例 358

24.4PetShop 4.0中的订单处理 362

24.5策略模式的优缺点与适用环境 363

24.5.1策略模式的优点 363

24.5.2策略模式的缺点 364

24.5.3策略模式的适用环境 364

24.6本章小结 364

24.7习题 365

第25章 模板方法模式 366

25.1模板方法模式概述 366

25.2模板方法模式的结构与实现 367

25.2.1模板方法模式的结构 367

25.2.2模板方法模式的实现 368

25.3模板方法模式的应用实例 371

25.4钩子方法的使用 374

25.5模板方法模式的优缺点与适用环境 377

25.5.1模板方法模式的优点 377

25.5.2模板方法模式的缺点 378

25.5.3模板方法模式的适用环境 378

25.6本章小结 378

25.7习题 379

第26章 访问者模式 380

26.1访问者模式概述 380

26.2访问者模式的结构与实现 382

26.2.1访问者模式的结构 382

26.2.2访问者模式的实现 383

26.3访问者模式的应用实例 385

26.4访问者模式与组合模式联用 393

26.5访问者模式的优缺点与适用环境 393

26.5.1访问者模式的优点 394

26.5.2访问者模式的缺点 394

26.5.3访问者模式的适用环境 394

26.6本章小结 394

26.7习题 395

附录A UML类图 397

A.1UML概述 397

A.2类与类的UML表示 398

A.3类之间的关系 400

附录B 设计模式模拟试题 408

B.1模拟试题一 408

B.2模拟试题二 411

B.3模拟试题三 414

参考文献 417