1.3.3 活动模板库(ATL)
活动模板库(ATL,即ActiveX Template Library),它是一套C++(www.cppentry.com)模板库。使用ATL能够快速地开发出高效、简洁的代码,同时对COM组件的开发提供最大限度的代码自动生成以及可视化支持。为了方便使用,从Microsoft Visual C++(www.cppentry.com) 5.0版本开始,Microsoft把ATL集成到Visual C++(www.cppentry.com)开发环境中。1998年9月推出的Visual Studio 6.0 集成了ATL 3.0版本。目前,ATL已经成为Microsoft标准开发工具中的一个重要成员,日益受到C++(www.cppentry.com)开发人员的重视。
ATL的出现是为了解决使用传统的方法开发COM组件的高难度和高工作量的问题,它有着以下几点好处。
ATL的基本目标就是使COM应用开发尽可能地自动化,这就决定了ATL只面向COM开发提供支持,ATL对COM技术的支持达到淋漓尽致的地步。对COM开发的任何一个环节和过程,ATL都提供支持,并将与COM开发相关的众多工具集成到一个统一的编程(www.cppentry.com)环境中。对于COM/ActiveX的各种应用,ATL也都提供了完善的Wizard支持。这些都极大地方便了开发者的使用,使开发者能够把注意力集中在与应用本身相关的逻辑上。ATL由于采用了特定的基本实现技术,摆脱了大量冗余代码,使用ATL开发出来的COM应用的代码简练高效。ATL在实现上尽可能采用优化技术,甚至在其内部提供了所有C/C++(www.cppentry.com)开发的程序所必须具有的C启动代码的替代部分。同时ATL产生的代码在运行时不需要依赖于类似MFC程序所需要的庞大的代码模块,包含在最终模块中的功能是用户认为最基本和最必需的。这些措施使采用ATL开发的COM组件(包括ActiveX Control)可以在网络环境下实现应用的分布式组件结构。ATL的各个版本对Microsoft的基于COM的各种新的组件技术如MTS、ASP等都有很好的支持,ATL对新技术的反应速度大大快于MFC。ATL已经成为Microsoft支持COM应用开发的主要开发工具,因此COM技术方面的新进展在很短的时间内都会在ATL上得到反映。这使开发者使用ATL进行COM编程(www.cppentry.com)可以得到直接使用COM SDK编程(www.cppentry.com)同样的灵活性和强大的功能。