《软件设计精要与模式》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:张逸编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121104534
  • 页数:452 页
图书介绍:本书关注的焦点是软件设计,涵盖了大部分与设计有关的基本要素,包括面向对象思想、设计模式、重构、测试驱动开发、极限编程以及软件体系架构。其中,尤以设计模式为主,深入探讨了软件设计过程中的原则与模式,并结合大量的实例与代码演示了如何合理运用设计模式,改善程序模块的可复用性、可扩展性,实现模块间的松散耦合。全书将软件设计理论与项目实践完美地结合起来,使其告别了纯理论研究的空泛,具有现实的指导意义。

第1篇 设计之要 2

第1章 设计之道 2

1.1 计划的设计与演进的设计 2

1.2 架构的标准 4

1.3 过度设计,还是简单设计 7

1.4 需要设计模式吗 9

1.5 重构是必然的 10

1.6 UML重要吗 11

1.7 测试驱动开发 12

第2章 对象法则 14

2.1 面向对象思想 14

2.2 面向对象核心要素 15

2.2.1 封装 15

2.2.2 继承 18

2.2.3 多态 21

2.3 面向对象设计原则 23

2.3.1 单一职责原则 23

2.3.2 开放封闭原则 27

2.3.3 Liskov替换原则 29

2.3.4 依赖倒置原则 30

2.3.5 接口隔离原则 32

第3章 封装变化 35

3.1 设计模式之鹄的 35

3.2 如何封装变化 37

3.2.1 封装对象行为的变化 37

3.2.2 封装对象创建的变化 40

3.2.3 封装对象结构的变化 44

3.3 解耦具体依赖 47

3.3.1 配置文件与反射技术 49

3.3.2 表驱动法 51

3.3.3 惯例优于配置 53

3.3.4 依赖注入 53

第4章 体验重构 56

4.1 一个阶乘容器 57

4.2 代码的坏味道 58

4.3 需求发生变化 59

4.4 运用重构利器 61

4.5 引入设计模式 64

第5章 测试驱动开发 67

5.1 发现价值与生产价值 68

5.2 运用面向对象编程思想 72

5.3 适时小结 77

5.4 收获价值 77

5.5 无上之力 78

第2篇 .NET框架与设计模式第6章 .NET中的工厂方法模式 82

6.1 “嫁祸江东”之计 82

6.2 WebRequest对象的创建 89

6.3 改造工厂方法模式 91

6.4 实现良好的可扩展性 98

6.5 惯例优于配置 100

第7章 .NET中的合成模式 102

7.1 字处理软件 102

7.2 .NET框架中的控件 109

7.3 “复合方式”的合成模式 113

第8章 .NET中的装饰器模式 123

8.1 一步一步走向装饰器模式 123

8.2 .NET框架中对流的处理 133

第9章 .NET中的迭代器模式 138

9.1 分辨对象的职责 138

9.2 实现迭代器模式 139

9.3 迭代器模式大观园 144

9.4 迭代器模式在.NET框架中的实现 146

9.5 通过yield return实现迭代器 149

9.6 C#3.0对迭代器模式的支持 153

第10章 .NET中的策略模式 156

10.1 税务系统 156

10.2 利用委托实现策略模式 158

10.3 .NET框架中的Provider对象 161

第11章 .NET中的命令模式 166

11.1 考勤管理系统 166

11.2 命令模式在WF中的运用 169

11.3 合成模式与命令模式的结合 172

第3篇 媒体播放器的设计之旅第12章 面向对象与接口分离 178

12.1 拙劣的设计 178

12.2 面向对象设计 180

12.3 接口分离 185

12.4 解除具体依赖 190

第13章 接口行为的适配 195

13.1 新的应用场景 195

13.2 “狼”与“羊”的关系 196

13.3 引入适配器模式 200

13.3.1 类的适配器模式 201

13.3.2 对象的适配器模式 203

13.4 适配器模式比较 206

第14章 接口行为的扩展 207

14.1 设计走向死胡同 207

14.2 考察适配器模式 208

14.3 引入访问者模式 211

14.4 非循环访问者模式 213

14.5 合理运用访问者模式 217

第15章 接口行为的装饰 219

15.1 不断变化的需求 219

15.2 考虑代理模式 221

15.3 引入装饰器模式 224

第4篇 设计模式应用实践 228

第16章 抽象工厂模式应用 228

16.1 报表组件 228

16.2 糟糕的设计 229

16.3 引入抽象工厂模式 231

16.4 工厂对象的使用 234

16.5 引入策略模式和桥接模式 236

16.6 适配器模式扩展抽象工厂结构 238

16.7 接口还是抽象类 239

第17章 建造者模式应用 243

17.1 装配设备对象 243

17.2 糟糕的设计 246

17.3 引入建造者模式 249

17.4 从容应对扩展 253

第18章 命令模式应用 255

18.1 安装向导 255

18.2 糟糕的设计 256

18.3 引入命令模式 259

18.4 进一步完善 261

18.5 分辨对象职责与变化 268

第19章 职责链模式应用 271

19.1 员工培训系统 271

19.2 设计模型 273

19.3 设计的重构 278

19.4 职责链模式 280

第20章 观察者模式应用 286

20.1 监控设备状态 287

20.2 引入观察者模式 288

20.3 事件与委托改进观察者模式 292

第21章 代理模式应用 297

21.1 显示设备控件 297

21.2 引入代理模式 298

21.3 完善设计 305

第22章 设计模式综合应用 310

22.1 话单转换工具 310

22.2 糟糕的设计 311

22.3 面向对象的设计思想 313

22.4 引入策略模式 314

22.5 需求发生变化 318

22.6 引入模板方法模式 318

22.7 合理的设计才是最好的设计 321

22.8 引入桥接模式 322

22.9 分离接口 330

22.10 引入抽象工厂模式 334

第5篇 .NET体系架构 342

第23章 软件体系架构 342

23.1 分层架构模式 343

23.2 分层架构模式之优劣 345

23.3 PetShop的架构版本演化 346

23.4 PetShop 4.0的系统架构 349

第24章 数据访问层 355

24.1 数据库样式 355

24.2 数据对象 357

24.3 SQL语句之瘤 362

24.4 运用ORM的思想 363

24.5 资源库模式与工作单元模式 367

24.6 事务的处理 369

24.7 具有简单工厂特质的抽象工厂模式 372

24.8 服务定位器模式 374

第25章 消息处理 376

25.1 MSMQ的实现 376

25.1.1 消息处理模块的组成 376

25.1.2 消息接口 377

25.1.3 消息接口的实现 377

25.1.4 消息工厂 380

25.1.5 后台处理应用程序 382

25.1.6 引入策略模式 384

25.2 分布式处理 385

第26章 ASPNET缓存 387

26.1 ASP.NET缓存概述 387

26.2 SqlCacheDependency特性 390

26.2.1 利用aspnet_regsql工具 390

26.2.2 利用SqlCacheDependencyAdmin类 393

26.3 ASP.NET缓存在PetShop 4.0中的实现 394

26.3.1 CacheDependency接口 394

26.3.2 CacheDependency实现 395

26.3.3 CacheDependency工厂 396

26.3.4 引入门面模式 398

26.3.5 引入代理模式 401

第27章 业务逻辑层 405

27.1 与领域专家合作 405

27.2 业务逻辑层的模式应用 408

27.3 PetShop的业务逻辑层 409

27.4 与数据访问层的通信 413

27.5 面向接口设计 415

第28章 表现层 419

28.1 页面控制器模式 419

28.2 用户管理 422

28.2.1 Profile特性 423

28.2.2 Membership特性 427

28.3 ASP.NET控件 434

28.3.1 自定义控件 436

28.3.2 用户控件 440

28.3.3 登录控件 441

28.3.4 Master Page 442

28.4 MVC模式 444

28.5 表现层的演变 448

参考文献 449