夏桅荐《应用框架的设计与实现》

时间:2022-08-30 08:46:42

框架——构建大规模应用程序的基础

夏桅(2005.7C# MVPCSDN论坛.NET版大版主

夏桅荐《应用框架的设计与实现》

初拿到《应用框架的设计与实现——.NET平台》一书时,先浏览了一下目录,便觉得这是一本相当务实的书。在较高的层次谈论软件设计,你可能会直接联想到《设计模式》这样的经典巨著;但事实上,直接分门别类地讲设计模式,除非你已经有了大量的软件开发经验,否则其中的精华很难被吸收和运用。在另外一个方面,现有的IT图书市场中,对照软件的设计和编码过程,除了讲解代码编写和技巧的基础书籍、介绍专题应用的书籍之外,其它大部分都处于很高的层次。这本《应用框架的设计与实现——.NET平台》正好处于中间的位置。它不讲某种具体技术,介绍的是软件的基础框架;也不是直接讲设计技巧,它在设计框架的同时揭示设计思想;它不是讲纯理论,文中的内容直接或稍加修改就可以应用到具体项目中。最关键的,它是第一本专门介绍应用框架的中文书,而应用框架设计,是基于Windows.NET的企业级开发所最为欠缺的(微软似乎一直都在宣传如何进行快速开发,而忽略了.NET对于大规模应用也同样出色)。

 

这本书讲解了一个B2B应用框架的设计,其中包括了类工厂服务、缓存服务、配置服务、事件通知服务、“Windows服务”服务、消息队列服务、授权服务、加密服务、事务服务、文档层服务和工作流服务,它们都是构建企业级应用程序所需的基础设施。其中一些来自Windows.NET自身的功能和服务,其他的是直接从基础技术构建起来的模块。这本书在介绍这些框架时,基本上都按照“提出问题 解决思路 解决问题”的模式编排,清晰易懂;此外还连带介绍了丰富的前台幕后的信息,比如介绍配置服务时,连带介绍了.NET程序配置体系的运行方式,介绍了<configSection>中声明的内容是如何和实际程序相连接的;又比如介绍事务服务时,还介绍了整个分布式事务的运行机理,包括MSDTC在其中的作用、分布式事务是如何保证其ACID特性的、2PC过程、COM+组件的部署等等。

 

读好书启发思维。就我本人而言,在读这本书的过程中,脑子里不断冒出些想法。比如,书中讲解配置服务时,虽然使用了XML到对象的映射,但还不够,没有讲配置对象到XML配置文件的保存机制——事实上既然已经建立了配置对象,通过PropertyGrid再建立一个Windows的配置工具又有何难。又如,讲解COM+和事务时,如果采用COM+ 1.5的无组件服务,可能可以得到容易得多的设计。此外,这本书所介绍的部分模块和微软的企业库(Enterprise Library)在定位上重叠(微软的企业库也是用于提供这些基础服务的,包括安全、日志、异常处理、数据访问、加/解密、缓存、配置模块)。

不过微瑕不掩瑜,总体来说此书的编写和翻译都有较好的质量,是一本值得一读的佳作。作者是个很有想法的人,书里涉及到的处处细节都说明了这一点。本书虽称不上一本应用框架技术的标准答案,但它可以帮助你体验框架的作用,引导你为自己所在的项目进行框架的设计。从这个角度讲,它值得所有初学设计的.NET开发者们一读,也值得有经验的设计者们作为参考。