《Inside深入核心VCL架构剖析》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:李维著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2004
  • ISBN:7505394894
  • 页数:687 页
图书介绍:本书包括10个章节,从最基础的Windows操作系统原理讲起,回顾Windows Framework和VCL Framework的发展历史,介绍Object Pascal在OO方面对VCL的支持,描述VCL Framework与Windows消息体系的集成,列举VCL组件与Windows组件的结合,探究基于接口的程序设计,指明VCL Framework设计 COM架构的方法,探讨VCL Framework的永续储存,还以一章的篇幅专门讨论了VCL Framework中的设计模式,最后对下一代VCL Framework——VCL.NET作了前瞻式的研究。单看目录就可以知道,这本书不但涉及VCL Framework本身,还旁及Windows Framework、COM、设计模式等相关技术。读者从中获得的,也不仅止是VCL架构知识,更会在整个阅读和实作过程中极大地拓宽自己的开发眼界,形成在系统设计方面的大局观,追寻大师级的Framework设计思路,提升整体开发素质。

1 回到从前 3

1-1 角色扮演 4

1-1-1 如何设计和驱动多任务执行环境 4

1-1-2是的,这就是Windows的基本运作原理 12

1-2回到从前!典型的Windows应用程序 17

1-3 窗口回调程序设计的缺点 21

1-4 Windows Framework的诞生和发展 32

1-5窗口组件Framework 36

1-6结论 36

2-1 Borland VCL Framework的诞生 41

2 VCL的诞生和设计原理 41

2-2 VCL的架构设计 43

2-3从无到有——VCL 对象生命的成形 43

2-3-1 Object Pascal的对象模型 44

2-3-2从原始内存到对象雏形 47

2-4 Object Pascal对象服务 48

2-4-1对象创建服务 49

2-4-2对象识别服务 55

2-4-3对象信息服务 56

2-5从原始基本对象到提供基本服务的VCL 对象 73

2-6 VCL对象的释放服务 74

2-7类和对象的Metadata-VMT(Virtual MethodTable) 84

2-8结论 94

3 面向对象程序语言和Framework 97

3-1 面向对象程序语言和VCL Framework 98

3-2 Framework使用面向对象程序语言的设计手法 98

3-3神仙棒一挥——让它变成组件吧 104

3-3-1 VCL Framework的核心组件架构 105

3-3-2TComponent类的设计 106

3-4这还不够,让它成为Windows控件吧 114

3-4-1 TControl 116

3-4-2封装Windows控件的TWinControl类 123

3-4-3不使用Window Handle的组件封装类 128

3-4-4 自定义控件类TCustomControl 133

3-4-5封装Canvas的类 135

3-4-6结合Canvas和TWinControl类 141

3-5 COMAdmin类的设计和实现 143

3-5-1TCOMAdminCatalog类的设计 151

3-5-2 CoCOMAdminCatalogCollection类的设计 159

3-5-3TCOMAdminCatalogObject类的设计 161

3-6结论 162

4 VCL Framework 和窗口消息 165

4-1 窗口消息和VCL Framework 165

4-1-1原始的处理方式 166

4-2 VCL的窗口消息封装机制 170

4-2-1 从窗口回调函数到面向对象的类方法 171

4-3TObject的消息分派服务 173

4-3-1 窗口消息分类 176

4-3-2调用惯例(Calling Convention) 177

4-3-3 VCL封装类的方法种类 177

4-3-4TObject分派消息的原理和流程 183

4-3-5 VCL消息分派架构 185

4-4 Delphi窗口应用程控者:TApplication 186

4-4-1TApplication对象的创建 187

4-4-2TApplication和秘密窗口 187

4-4-3TApplication的消息循环 197

4-5TApplication创建的主窗体 199

4-5-1主窗体的创建流程 200

4-5-2 Delphi窗体类处理窗口消息的机制 211

4-6TApplication的设计思想 221

4-7结论 222

5 VCL组件和窗口控件的结合 225

5-1 VCL组件的创建和窗口控件的结合 225

5-1-1填入跳跃程序区块 227

5-1-2 VCLFramework统一消息分派函数——StdWndProc 230

5-2 VCLFramework的自定义消息(Customized Framework Message) 233

5-3 VCL完整的消息分派流程 236

5-3-1 TButton类 237

5-3-2动态消息和VCL事件处理函数的结合 244

5-3-3TForm类 247

5-3-4内定窗口消息函数——DefaultHandler 250

5-4 VCL消息处理设计模式(Design Pattern) 252

5-4-1 Dispatcher 252

5-4-2 Broadcasting 260

5-4-3利用VCLFramework的消息分配机制 262

5-4-4拦截VCL Framework未处理的窗口消息 265

5-4-5拦截TObject消息分派的服务 268

5-4-6窗口消息流动时间 270

5-4-7平均处理消息数目 271

5-5结论 273

6 接口程序设计 277

6-1 为什么要有接口 278

6-1-1 接口程序的驱动力 278

6-2接口的演进、比较以及Delphi的接口机制 288

6-2-1 Microsoft COM 288

6-2-2 Java 291

6-2-3 C#的接口 292

6-2-4 Delphi接口设计的发展 293

6-3 Delphi的接口机制 297

6-3-1接口是交互的合约 297

6-3-2 声明接口 297

6-3-3实现和使用接口 298

6-3-4接口和对象的生命周期 305

6-3-5 声明继承和实现继承 309

6-3-6多重接口的实现 311

6-3-7接口的委托(Interface Delegation) 314

6-3-8接口属性 324

6-3-9通用接口机制的实现方式 327

6-3-10 COM组件模型影响的接口机制 328

6-3-11 VCLFramework提供的通用接口和接口类 334

6-3-12接口小范例——Interface Walker 338

6-4 高级接口技术 341

6-4-1 Delphi延伸接口机制加入的接口 RTTI(Run-TimeType Information) 341

6-4-2接口设计会影响应用系统的效能 349

6-5 Delphi接口机制未来的发展 360

6-6结论 363

7 VCL Framework的COM架构 367

7-1 以面向对象技术来设计COM的支持架构 368

7-1-1什么是COM对象 369

7-1-2 ClassFactory 373

7-1-3 COM Aggregation 374

7-1-4 Type Information 376

7-1-5注册信息 377

7-1-6设计的想法 378

7-2-1 COM执行环境的服务 380

7-2 VCL Framework支持COM的面向对象架构 380

7-2-2创建COM对象的服务 388

7-2-3 COM对象类 395

7-2-4 Delphi编译器实现的变化 397

7-2-5 TAggregatedObject 403

7-2-6TContainedObject类 412

7-2-7 VCL Framework如何提供COM Aggregate的功能 416

7-3 VCL Framework创建COM对象的流程 419

7-4 VCL Framework使用的设计模式 426

7-4-1 Factory/Factory Method设计模式 426

7-4-2 Bootstrap设计模式 436

7-4-3 ForEach设计模式 441

7-5结论 452

8 VCL Framework的持久化机制 455

8-1什么是持久化(Persistence) 458

8-2持久化的发展 460

8-2-1 COM的持久化 460

8-2-2 Java的持久化 464

8-2-3NET的持久化 468

8-2-4 Delphi/C++Builder 478

8-3 Delphi的持久化机制 479

8-3-1 复制对象变量和Assign方法 481

8-3-2 Shallow Copy 484

8-3-3 Deep Copy 486

8-3-4 TFiler类 487

8-3-5 TWriter类 490

8-3-6 TReader类 492

8-4使用Delphi的持久化能力 495

8-4-1使用TPersistent/TComponent类 495

8-4-2 动态创建和储存VCL组件 509

8-4-3动态储存自定义VCL组件 514

8-5 VCL Framework持久化的Design Pattern 517

8-5-1 Two-Way Sequential设计模式 517

8-5-2 Adapter设计模式 518

8-6流类 522

8-7结论 526

9 VCL Framework和设计模式 529

9-1 Framework设计模式 530

9-1-1 Notify设计模式 530

9-1-2 Facade设计模式 541

9-1-3 Command设计模式/Action设计模式 551

9-2企业应用设计模式 573

9-2-1Table Module设计模式 574

9-2-2 Record Set设计模式 581

9-2-3 Service Layer设计模式 583

9-3结论 587

9-4参考书目 587

10 VCL Framework的演化——VCL.NET 591

10-1 Object Pascal和CLR 592

10-1-1数据类型 593

10-1-2类引用(Class Reference) 598

10-1-3虚拟构造函数和多态对象创建 603

10-1-4 Class Method/Class Static Method 611

10-2 设计的挑战 618

10-2-1辅助类(Helper Class)的功能 618

10-2-2 Unit Initialization/Finalization 621

10-2-3 Cracker Class 638

10-2-4析构函数的执行 643

10-3-1 使用.NET的PInvoke机制调用Win32服务 646

10-3 VCL.NET的实现 646

10-3-2 串联Delphi.NET运行时和.NET虚拟执行环境的机制 648

10-3-3使用.NET Framework类取代VCL Framework类 650

10-3-4实现额外的.NET接口以提供VCL.NET开发.NET组件的能力 651

10-3-5扮演.NET和VCL.NET间Adapter角色的TObjectHelper 652

10-3-6.NET和Win32间的Wrapper 661

10-4 VCL.NET如何处理Windows消息 663

10-5 VCL.NET使用的设计模式 673

10-5-1使用Adapter设计模式 673

10-5-2使用Wrapper设计模式 674

10-5-3 Register/Notify设计模式 679

10-6 结论 686