《模式 工程化实现及扩展 设计模式C#版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:王翔,孙逊著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121156397
  • 页数:383 页
图书介绍:模式是一个非常有趣的话题,它是对特定前提下重复出现问题的一个普遍解,它是一种思想,使用得当也会对设计、实施提供帮助,从这个角度看它又是实实在在的生产率。设计模式GOF总结的经典设计模式虽只有23种,但不管是创建型模式、结构型模式还是行为型模式,归根结底都是在寻找软件中可能的变化,并封装这些变化。而学习设计模式,必须经过大量的实战,在实战中提高,在实战中体会如何“活学活用”,这也正是《模式——工程化实现及扩展》这一系列中每一本书的不变宗旨。

第一篇 预备知识——发掘C#语言的面向对象设计潜力 1

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

1.1 说明 3

1.2 单—职责原则(SRP) 4

1.3 里氏替换原则(LSP)和依赖倒置原则(DIP) 7

1.4 接口隔离原则(ISP) 8

1.5 迪米特法则(LoD:Law of Demeter、LKP) 9

1.6 开闭原则(OCP) 11

1.7 小结 15

1.8 自我检验 15

第2章 重新研读C#语言 16

2.1 说明 17

2.2 C#部分语法内容扩展 18

2.2.1 命名空间 18

2.2.2 简洁的异步调用机制——委托和事件 21

2.2.3 考验算法的抽象能力——泛型 29

2.2.4 用贴“标签”的方式扩展对象特性 35

2.2.5 可重载运算符与转换运算符 38

2.3 面向插件架构的配置系统设计 41

2.3.1 认识.NET Framework提供的主要配置实体类 42

2.3.2 小结 43

2.3.3 自我检验 43

2.4 依赖注入 44

2.4.1 背景介绍 44

2.4.2 示例情景 45

2.4.3 构造注入 47

2.4.4 设值注入 48

2.4.5 接口注入 48

2.4.6 基于属性的注入方式 50

2.4.7 小结 52

2.4.8 自我检验 53

2.5 连贯接口 53

第3章 Java和C# 56

3.1 说明 57

3.2 枚举 57

3.3 泛型 61

3.4 属性和标注 63

3.5 操作符重载和类型转换重载 64

3.6 委托、事件、匿名方法 65

3.7 Lamada和LINQ 68

3.8 小结 73

第二篇 创建型模式——管理对象实例的构造过程 74

第4章 工厂&工厂方法模式 75

4.1 说明 76

4.2 简单工厂 76

4.2.1 最简单的工厂类 76

4.2.2 简单工厂的局限性 79

4.3 经典回顾 79

4.4 解耦工厂类型与客户程序 81

4.5 基于配置文件的工厂 83

4.5.1 基于配置文件解耦工厂接口和具体工厂类型 83

4.5.2 基于配置文件解耦工厂类型和具体工作产品 84

4.6 典型工程化实现 86

4.7 小结 89

4.8 自我检验 90

第5章 单件模式 91

5.1 说明 92

5.2 经典回顾 93

5.3 线程安全的单件模式 96

5.4 细节决定成败 98

5.5 细颗粒度的单件模式 99

5.5.1 背景讨论 99

5.5.2 解决桌面应用中细颗粒度单件模式问题 100

5.5.3 解决Web应用中细颗粒度单件模式问题 101

5.6 分布式环境下的单件模式 102

5.7 单件模式的使用问题 105

5.8 小结 105

第6章 抽象工厂模式 106

6.1 说明 107

6.2 经典回顾 108

6.3 解决经典模式的硬伤 110

6.4 基于委托的生产外包 112

6.5 小结 114

第7章 创建者模式 116

7.1 说明 117

7.2 经典回顾 118

7.3 为Builder打个标签 121

7.4 具有装配/卸载能力的Builder 126

7.5 连贯接口形式的Builder 126

7.6 小结 130

7.7 自我检验 130

第8章 原型模式 131

8.1 说明 132

8.2 经典回顾 132

8.3 表面模仿还是深入模仿 136

8.3.1 概念 136

8.3.2 制作实现克隆的工具类型 137

8.3.3 简单自定义复制过程 139

8.3.4 细颗粒度自定义复制过程 140

8.4 小结 142

8.5 自我检验 143

第三篇 结构型模式——组织灵活的对象体系 145

第9章 适配器模式 146

9.1 说明 147

9.2 经典回顾 148

9.3 类型转换符实现适配 151

9.4 组适配器 152

9.5 用配置约定适配过程 154

9.6 面向数据的适配机制 156

9.7 小结 158

9.8 自我检验 158

第10章 桥模式 161

10.1 说明 162

10.2 经典回顾 163

10.3 分解复杂性的多级桥关系 166

10.4 看着“图纸”造桥 171

10.5 具有约束关系的桥 174

10.6 小结 175

10.7 自我检验 176

第11章 组合模式 177

11.1 说明 178

11.2 经典回顾 179

11.3 用迭代器遍历组合类型 183

11.4 适于XML信息的组合模式 185

11.5 分布式“部分—整体”环境 188

11.6 小结 188

11.7 自我检验 189

第12章 装饰模式 190

12.1 说明 191

12.2 经典回顾 192

12.3 卸载装饰 195

12.4 通过配置和创建者完成装饰过程 196

12.5 把装饰类型做成标签 198

12.5.1 “彻底”的属性注入 198

12.5.2 方式1:采用.NET平台自带的AOP机制实现 199

12.5.3 自定义代理拦截框架方式 202

12.5.4 进一步分析 205

12.6 小结 205

第13章 外观模式 207

13.1 说明 208

13.2 经典回顾 208

13.3 平台、开发语言无关的抽象Facade接口——WSDL 211

13.4 小结 212

第14章 享元模式 214

14.1 说明 215

14.2 经典回顾 216

14.3 制订共享计划 219

14.4 通过委托和队列实现异步享元 219

14.5 小结 220

第15章 代理模式 221

15.1 说明 222

15.2 经典回顾 222

15.3 远程代理 224

15.4 小结 226

第四篇 行为型模式——算法、控制流的对象化操作 227

第16章 职责链模式 228

16.1 说明 229

16.2 经典回顾 229

16.3 非链表方式定义职责链 233

16.4 小结 237

第17章 模板方法模式 239

17.1 说明 240

17.2 经典回顾 241

17.3 方法的模板——委托 243

17.4 类和接口的模板——泛型 243

17.5 系统架构的模板——配置 244

17.6 小结 245

17.7 自我检验 245

第18章 解释器模式 247

18.1 说明 248

18.2 经典回顾 249

18.3 采用正则表达式 252

18.4 采用字典 255

18.5 多级解释器系统 258

18.6 用XSD解释自定义业务语言 260

18.7 小结 261

18.8 自我检验 261

第19章 命令模式 262

19.1 说明 263

19.2 经典回顾 264

19.3 打包命令对象 266

19.4 异步命令操作 270

19.5 命令操作队列 272

19.6 小结 273

19.7 自我检验 273

第20章 迭代器模式 276

20.1 说明 277

20.2 经典回顾 278

20.3 .NET内置的迭代器 279

20.4 小结 282

20.5 自我检验 282

第21章 中介者模式 283

21.1 说明 284

21.2 经典回顾 285

21.3 基于委托和事件的松耦合中介者 288

21.4 根据配置动态协调通知关系 290

21.5 小结 292

21.6 自我检验 293

第22章 备忘录模式 294

22.1 说明 295

22.2 经典回顾 296

22.3 把备忘压栈 300

22.4 备忘录的序列化和持久化 302

22.5 小结 305

22.6 自我检验 305

第23章 观察者模式 307

23.1 说明 308

23.2 经典回顾 310

23.3 .NET内置的观察者机制——事件 313

23.4 具有观察者机制的集合类型 315

23.5 面向服务接口的观察者 316

23.6 小结 318

23.7 自我检验 318

第24章 状态模式 320

24.1 说明 321

24.2 经典回顾 322

24.3 状态的序列化和持久化 326

24.4 主动状态对象 328

24.5 用WF完成更易于编排的状态模式 329

24.6 小结 330

24.7 自我检验 330

第25章 策略模式 332

25.1 说明 333

25.2 经典回顾 334

25.3 策略模式与解释器模式的协作 335

25.4 .NET自带的策略接口 337

25.5 小结 338

第26章 访问者模式 339

26.1 说明 340

26.2 经典回顾 340

26.3 借助反射或Dynamic实现访问者 343

26.4 用委托实现工程化的访问者 346

26.5 小结 347

26.6 自我检验 347

第五篇 GOF综合练习 349

第27章 GOF部分阶段实践 350

27.1 回顾GOF 351

27.2 需求的提出 351

27.3 第一轮技术分析 352

27.4 第二轮技术分析 354

27.5 第三轮技术分析 356

27.6 示例实现 357

27.7 验证逻辑的有效性 369

27.8 小结 380

27.9 后记 381

附录 Java和C#关键字对照表 382