《面向对象开发实践之路 C#版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:李维著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2005
  • ISBN:7121016435
  • 页数:468 页
图书介绍:本书有C#和Delphi两个版本,本书为C#版,主要介绍了利用主流开发方法学和技术技巧进行面向对象开发的原则与实践,通过完整剖析一个实际应用程序的设计、开发与实现,深入浅出地阐述OOD(面向对象开发)、OOP(面向对象程序设计)、TDD(测试驱动开发)、UT(单元测试)等开发方法学与最佳实践的应用与技术技巧,全面展现深厚技术实践经验的精髓。本书适合于习惯使用RAD方式而想学习如何使用OOA/D以及XP、TDD开发软件的C#、Delphi、VB以及PowerBuilder开发人员阅读。

第0章 导读 1

目录 1

第1章 一个简单的想法 7

1.1 找寻问题的本质 13

1.2 搜寻解决方法 15

1.2.1 面向对象开发方法 15

1.2.2 测试驱动开发(TDD-Test-Driven Development) 16

1.2.3 结合面向对象分析/面向对象设计和XP/TDD 16

1.3 结论 17

第2章 分析和设计架构的思考 19

2.1 从自然的场景开始构思 19

2.2.1 需求捕获 22

2.2 PFM系统的设计 22

2.2.2 使用需求分析 24

2.2.3 产品设计 27

2.3 类架构的思考 34

2.4 建立开发环境 35

2.4.1 建立版本控制项目 36

2.5 结论 43

第3章 TDD和NUnit框架 45

3.1 取得NUnit For.NET 45

3.2 测试驱动开发模型 46

3.3 使用NUnit框架 47

3.3.1 范例场景 48

3.3.2 在C#项目中使用NUnit 49

3.3.3 使用NUnit框架建立测试用例 50

3.3.4 NUnit框架提供测试服务的函数 62

3.3.5 使用测试包(Test Suite) 63

3.3.6 测试种类(Test Category) 68

3.4 结论 74

第4章 执行引擎和XML驱动设计 77

4.1 设计架构的思考 78

4.2 设定本章开发项目 83

4.3 封装配置信息类设计 87

4.3.1 TPFMConfig类的设计 88

4.3.2 TPFMConfigManager类的设计 91

4.3.3 TPFMSchedule类设计 93

4.3.4 TPFMScheduleManager类设计 94

4.4 从面向对象分析/设计转换到XP/TDD 96

4.4.1 TPFMConfigManager类实现 97

4.4.2 TPFMScheduleManager类实现 101

4.4.3 建立测试用例测试设计和实现的类 104

4.5 观察到父类的迹象 111

4.5.1 设计TPFMManager 114

4.5.2 使用TDD测试TPFMManager 119

4.6 改善和重构TPFMManager类 122

4.7 使用Together检查程序代码质量 131

4.8 类使用的设计模式 140

4.9 我们学到了什么 142

4.10 开发周期管理 143

4.11 另外一种开发配置 146

4.12 结论 148

第5章 多元,弹性架构的设计和实现——Handlers 151

5.1 设计架构的思考 152

5.2 设定本章开发项目 159

5.3 处理器接口和处理器类的设计和实现 160

5.4 处理器类派生类设计和实现 163

5.4.1 文件处理器类-TPFMFileHandler 164

5.4.2 压缩和反压缩处理器类-TPFMZipHandler 167

5.4.3 加密和解密处理器类 175

5.4.4 目录处理器类 181

5.4.5 一切都很好,除了 184

5.5 处理器工厂类设计和实现 186

5.5.1 处理器Factory类 186

5.5.2 测试处理器Factory类 189

5.5.3 进一步完善试处理器Factory类 191

5.5.4 测试处理器Factory类 194

5.5.5 为每一个处理器类建立独立的工厂类 195

5.5.6 测试处理器Factory类 198

5.6 对程序代码进行稽核和度量的工作 198

5.6.1 程序代码稽核 198

5.6.2 程序代码度量 199

5.7 Check In本章的源程序 201

5.8 处理器类和处理器工厂类的完善 202

5.9 结论 204

第6章 搜寻处理目标的设计和实现——Finders 207

6.1 搜寻处理目标类的思考和设计 207

6.2 设定本章开发项目 210

6.3 通用搜寻类-TFinder 212

6.4 目标文件搜寻类-TFileFinder 213

6.5 使用Factory设计模式-TFinderFactory 218

6.6 封装处理目标类-TCandidate 219

6.7 使用TDD测试类设计和实现 221

6.8.1 TFinder和TFileFinder类的改善 225

6.8 程序代码风格的讨论 225

6.9 结论 234

第7章 封装处理目标 237

7.1 设定本章开发环境 240

7.2 TCandidateFactory类 240

7.3 修改TCandidate类 242

7.4 修改客户端程序代码 244

7.5 重新使用TDD测试修改后的TCandidate类 246

7.6 结论 251

第8章 谁执行串联和集成的工作——Coordinator和Task 255

8.1 设计架构的思考 256

8.1.1 类架构设计 259

8.1.2 类互动 262

8.2 建立本章开发项目 263

8.3 类的设计和实现 265

8.3.1 使用Fa?ade设计模式 265

8.3.2 不光是提供Fa?ade功能 268

8.4 工作分派类TPFMTaskDispatcher 268

8.4.1 TPFMTaskDispatcher类的设计和实现 269

8.4.2 修改TPFMCoordinator使用TPFMTaskDispatcher类 272

8.4.3 修改TPFMManager类 272

8.5 以工作指派思想设计PFM需要执行的工作-TPFMTask 275

8.5.1 采用接口设计 275

8.5.2 工作类设计 277

8.5.3 TPFMTask工作类的实现 279

8.5.4 TScheduledTask类的设计和实现 281

8.5.5 TSpecifiedTask类的设计和实现 282

8.5.6 完成TPFMTaskDispatcher类 284

8.6 使用TDD进行测试 285

8.7 TPFMTask的工厂类 290

8.7.1 使用TDD测试TPFMTaskFactory 292

8.8 改善TPFMTaskDispatcher类 293

8.8.1 为TPFMTaskDispatcher加入对象池机制 295

8.8.2 修改TPFMTaskDispatcher类相关的方法 304

8.8.3 测试用例可以帮助我们进行所有的测试吗 305

8.9 程序代码稽核和程序代码度量 312

8.9.2 程序代码度量 313

8.9.1 程序代码稽核 313

8.10 Check In本章源程序 319

8.11 结论 320

第9章 如何持久储存——数据库处理器和Adapter 323

9.1 设计架构的思考 323

9.2 准备本章范例项目 326

9.3 TPFMDBAdapter类 328

9.4 TPFMDBBKAdapter类 329

9.5 修改TPFMDBHandler类 338

9.6 使用TDD测试数据库处理器类 339

9.7.1 程序代码稽核 343

9.7 程序代码稽核和程序代码度量 343

9.7.2 程序代码度量 345

9.8 结论 346

第10章 PFM系统和Assembly的设计 349

10.1 封装架构的思考 349

10.1.1 如何重新组织C#类文件 350

10.2 准备本章范例项目 356

10.3 从最简单的地方开始-PFMSystemExceptions包 357

10.4 开发PFMSystemGlobals包 358

10.5 开发PFMSystemConfigurations包 359

10.6 开发PFMSystemCandidate包 361

10.7 开发Finders Assembly 362

10.8 开发处理器Assembly 364

10.9 开发PFM系统核心Assembly 365

10.10 如何确定Assembly能够正确工作 367

10.11 结论 373

第11章 让我们完工吧,OO和RAD 375

11.1 准备本章的开发环境 375

11.2 如何撰写常驻在Windows工具栏上的.NET程序 377

11.2.1 自定义ApplicationContext对象 379

11.2.2 修改C#Windows Form主程序 383

11.3 如何设定系统时钟触发PFM系统的服务 384

11.4 集成PFM主程序和PFM类 385

11.5 Ready,Set,Go 387

11.6 测试PFM主程序 388

11.7 让PFM主程序更具响应性 390

11.7.1 更准确的显示时间 390

11.7.2 PFM系统工作时改变程序显示的图像 391

11.7.3 加入执行指定工作的服务 392

11.8 保存PFM系统主程序 394

11.9 结论 394

第12章 回到RAD,图形用户界面和组件 397

12.1 PFM公用程序设计思考 398

12.2 准备本章开发环境 399

12.3 PFM公用主程序 402

12.3.1 PFM公用程序定义程序单元 403

12.3.2 PFM公用主程序单元 404

12.3.3 PFM公用程序辅助类 411

12.4 执行PFM公用程序 415

12.5 保存本章开发结果 420

12.6 结论 420

第13章 撰写高效率的.NET应用程序 423

13.1 影响.NET执行效率的因素 423

13.1.1 虚拟堆栈机器 424

13.1.2 即时编译器(JIT) 426

13.1.3 最优化机器编译器 428

13.1.4 正确使用.NET机制和Framework 430

13.2 撰写高效率.NET应用程序 433

13.2.1 和垃圾回收器(Garbage Collection)协作 434

13.2.2 更好地使用Collection类 438

13.2.3 了解引用对象和值对象的使用 441

13.2.4 Boxing/Unboxing 446

13.2.5 字符串处理的陷阱 449

13.2.6 小心使用Reflection 450

13.2.7 使用效率监督工具 451

13.3 一些通用的建议 452

13.4 C#和设计模式的执行效率 455

13.4.1 Command设计模式 455

13.4.2 FlyWeight设计模式 459

13.5 结论 463

第14章 更多的设计和实现,您能继续吗 465