《Delphi模式编程》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:刘艺著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2004
  • ISBN:7111149491
  • 页数:511 页
图书介绍:本书不但围绕23个经典的设计模式进行解说,介绍其结构及用法,并给出模式编程的实践范例;还进一步阐述了模式的概念,深入讨论了Delphi的模式编程机制和模式编程法则。

序 1

前言 1

第一部分 模式编程原理 1

第1章 模式概述 1

1.1 模式的概念 1

1.1.1 什么是模式 1

1.1.2 模式可以做什么 4

1.2 模式与架构 5

1.2.1 什么是架构 5

1.2.2 架构和模式的关系 5

1.3 从面向对象编程到模式编程 7

1.3.1 关于封装的哲学 7

1.3.2 利用继承实现变化的封装和简单的复用 8

1.3.3 借助模式封装多个变化 13

1.3.4 模式帮助我们解决问题 19

第2章 Delphi的模式编程机制 20

2.1 对象模型机制 20

2.1.1 对象模型 20

2.1.2 对象建模和模式编程 23

2.1.3 对象关系与复用 24

2.2 动态绑定机制 29

2.2.1 方法绑定 29

2.2.2 虚方法 29

2.2.3 多态 30

2.3 类型转换机制 32

2.3.1 类型 32

2.3.2 向上转型 33

2.3.3 向下转型 36

2.4 接口抽象机制 37

2.4.1 接口的概念 37

2.4.2 抽象类 39

2.4.3 对象接口 41

2.4.4 抽象类与对象接口的比较 42

2.4.5 针对接口而不是针对实现编程 43

第3章 模式编程法则 44

3.1 开闭法则(OCP) 44

3.2 Liskov代换法则(LSP) 46

3.3 依赖反转法则(DIP) 48

3.4 接口隔离法则(ISP) 51

3.5 单一职责法则(SRP) 59

第二部分 创建型模式编程 65

第4章 工厂方法模式(Factory Method) 65

4.1 模式解说 65

4.2 结构和用法 66

4.2.1 模式结构 66

4.2.2 代码模板 68

4.2.3 问题讨论 70

4.3 范例与实践 74

4.3.1 利用工厂方法模式设计可动态切换持久层机制的应用 74

4.3.2 范例小结 79

第5章 抽象工厂模式(Abstract Factory) 81

5.1 模式解说 81

5.2 结构和用法 82

5.2.1 模式结构 82

5.2.2 代码模板 83

5.3 范例与实践 86

5.3.1 用抽象工厂模式动态构造界面风格 86

5.3.2 WebSnap的Web Module架构与抽象工厂模式 92

5.3.3 范例小结 98

第6章 建造者模式(Builder) 100

6.1 模式解说 100

6.2.1 模式结构 101

6.2 结构和用法 101

6.2.2 代码模板 103

6.3 范例与实践 105

6.3.1 一个数据集对象产品的建造者模式 105

6.3.2 范例小结 109

第7章 单例模式(Singleton) 110

7.1 模式解说 110

7.2 结构和用法 112

7.2.1 模式结构 112

7.2.2 代码模板 114

7.2.3 Delphi对象构造机制与单例模式 116

7.3 范例与实践 121

7.3.1 一个共享数据库连接的单例模式范例 121

7.3.2 范例小结 128

8.1 模式解说 129

第8章 原型模式(Prototype) 129

8.2 结构和用法 130

8.2.1 模式结构 130

8.2.2 代码模板 130

8.3 范例与实践 134

8.3.1 Delphi对象的克隆 134

8.3.2 用原型模式克隆字体 136

8.3.3 Delphi对象流化与原型模式 141

8.3.4 范例小结 149

第三部分 结构型模式编程 152

第9章 适配器模式(Adapter) 152

9.1 模式解说 152

9.2 结构和用法 153

9.2.1 类的适配器模式 153

9.2.2 对象的适配器模式 154

9.2.3 问题讨论 156

9.3.1 用适配器模式包装第三方API的范例 157

9.3 范例与实践 157

9.3.2 范例小结 163

第10章 桥接模式(Bridge) 164

10.1 模式解说 164

10.2 结构和用法 166

10.2.1 模式结构 166

10.2.2 代码模板 167

10.3 范例与实践 170

10.3.1 使用桥接模式改进数据持久层的健壮性 170

10.3.2 基于桥接模式的一个数据视图程序 171

10.3.3 范例小结 184

第11章 合成模式(Composite) 185

11.1 模式解说 185

11.2 结构和用法 186

11.2.1 模式结构 186

11.2.2 代码模板 187

11.2.3 问题讨论 189

11.3 范例与实践 191

11.3.1 合成模式在组织机构管理系统中的应用 191

11.3.2 范例小结 200

第12章 装饰者模式(Decorator) 201

12.1 模式解说 201

12.2 结构和用法 203

12.2.1 模式结构 203

12.2.2 代码模板 204

12.2.3 问题讨论 206

12.3 范例与实践 207

12.3.1 装饰者模式在图片观赏器中的应用 207

12.3.2 范例小结 215

第13章 门面模式(Facade) 217

13.1 模式解说 217

13.2.1 模式结构 219

13.2 结构和用法 219

13.2.2 代码模板 221

13.2.3 问题讨论 225

13.3 范例与实践 226

13.3.1 门面模式和分布式系统的设计优化 226

13.3.2 用门面模式设计的COM+银行转账系统 227

13.3.3 COMQ+银行转账系统实现代码剖析 228

13.3.4 范例小结 243

第14章 享元模式(Flyweight) 245

14.1 模式解说 245

14.2 结构和用法 246

14.2.1 模式结构 246

14.2.2 代码模板 247

14.3 范例与实践 251

14.3.1 对象池技术和享元模式 251

14.2.3 问题讨论 251

14.3.2 享元模式在任务调度系统中的应用 253

14.3.3 范例小结 258

第15章 代理模式(Proxy) 259

15.1 模式解说 259

15.2 结构和用法 261

15.2.1 模式结构 261

15.2.2 代码模板 262

15.3 范例与实践 264

15.3.1 代理模式在数据库程序中的应用 264

15.3.2 范例小结 286

第四部分 行为型模式编程 288

第16章 责任链模式(Chain of Responsibility) 288

16.1 模式解说 288

16.2 结构和用法 289

16.2.1 模式结构 289

16.2.2 代码模板 290

16.2.3 问题讨论 292

16.3 范例与实践 293

16.3.1 责任链模式在项目审批系统中的应用 293

16.3.2 责任链模式对代码的重构 300

16.3.3 范例小结 302

第17章 命令模式(Command) 303

17.1 模式解说 303

17.2 结构和用法 304

17.2.1 模式结构 304

17.2.2 代码模板 305

17.2.3 问题讨论 308

17.3 范例与实践 309

17.3.1 Delphi的Action编程机制与命令模式 309

17.3.2 一个兼有撤销和重做功能的文本编辑器范例 318

17.3.3 范例小结 325

18.2.1 模式结构 327

18.2 结构与用法 327

第18章 解释器模式(Interpreter) 327

18.1 模式解说 327

18.2.2 代码模板 328

18.3 范例与实践 330

18.3.1 一个罗马数字到阿拉伯数字的转换器程序 330

18.3.2 范例小结 339

第19章 迭代子模式(Iterator) 341

19.1 模式解说 341

19.2 结构与用法 344

19.2.1 模式结构 344

19.2.2 代码模板 345

19.2.3 问题讨论 349

19.3 范例与实践 351

19.3.1 一个基于迭代子模式的图片播放器 351

19.3.2 范例小结 360

第20章 中介者模式(Mediator) 361

20.1 模式解说 363

20.2 结构与用法 363

20.2.1 模式结构 363

20.2.2 代码模板 365

20.2.3 问题讨论 369

20.3 范例与实践 369

20.3.1 中介者模式在聊天室系统中的应用 369

20.3.2 范例小结 377

第21章 备忘录模式(Memento) 379

21.1 模式解说 379

21.2 结构与用法 379

21.2.1 模式结构 379

21.2.2 代码模板 381

21.2.3 问题讨论 386

21.3.1 备忘录模式在地理信息系统中的应用 389

21.3 范例与实践 389

21.3.2 范例小结 406

第22章 观察者模式(Observer) 407

22.1 模式解说 407

22.2 结构与用法 409

22.2.1 模式结构 409

22.2.2 代码模板 410

22.2.3 问题讨论 415

22.3 范例与实践 416

22.3.1 观察者模式在界面色彩主题中的应用 416

22.3.2 范例小结 430

第23章 状态模式(State) 432

23.1 模式解说 432

23.2 结构与用法 434

23.2.1 模式结构 434

23.2.2 代码模板 435

23.2.3 问题讨论 438

23.3 范例与实践 439

23.3.1 状态模式在信用卡账户管理系统中的应用 439

23.3.2 范例小结 451

第24章 策略模式(Strategy) 453

24.1 模式解说 453

24.2 结构与用法 455

24.2.1 模式结构 455

24.2.2 代码模板 456

24.2.3 问题讨论 459

24.3 范例与实践 460

24.3.1 策略模式在酒店管理系统中的应用 460

24.3.2 范例小结 466

第25章 模板方法模式(Template Method) 468

25.1 模式解说 468

25.2.2 代码模板 472

25.2 结构与用法 472

25.2.1 模式结构 472

25.2.3 问题讨论 474

25.3 范例与实践 474

25.3.1 模板方法在离线数据库系统中的应用 474

25.3.2 范例小结 481

第26章 访问者模式(Visitor) 482

26.1 模式解说 482

26.2 结构与用法 484

26.2.1 模式结构 484

26.2.2 代码模板 486

26.2.3 问题讨论 491

26.3 范例与实践 495

26.3.1 访问者模式在薪酬福利管理中的应用 495

26.3.2 范例小结 509

主要参考文献 511