"支持下的组件复用技术 (2005年) - 周振红, 任慧, 王琦"
本文主要探讨了在COM(Component Object Model)架构下,利用Active Template Library (ATL) 实现的组件复用技术。组件复用是软件开发中的一个重要策略,其目标是通过重用已有的组件来创建新的组件,从而提升开发效率,减少代码重复,提高软件质量。
COM组件复用主要分为两种方式:包容和聚合。在包容(Containment)中,外部组件(Container)包含了内部组件(Control),并暴露内部组件的接口。这种方式下,外部组件作为容器,将内部组件的功能集成到自身的功能集中,但用户并不直接与内部组件交互,而是通过外部组件的接口调用内部组件的方法。
而聚合(Aggregation)则略有不同,外部组件不仅包含内部组件,还会直接对外公开内部组件的接口,使得外部世界可以直接访问到内部组件。在聚合过程中,外部组件通常会成为内部组件的“代理”,并且在创建内部组件时,通过ATL函数,如果使用包容,返回的是内部组件的自定义接口指针;如果使用聚合,则返回的是内部组件的基接口指针IUnknown。IUnknown是所有COM组件的基础接口,提供了AddRef、Release和QueryInterface三个方法,用于对象引用计数管理和接口查询。
文中通过Visual Basic客户程序的测试验证了无论采用包容还是聚合,外部组件的默认接口都能使客户程序访问到内部组件的接口。这意味着开发者可以灵活选择适合的复用方式,以适应不同的应用场景和需求。
此外,文章的作者周振红等人,主要研究领域包括水利信息化和GIS,他们的工作得到了河南省高校青年骨干教师资助项目的支持。这篇论文发表于2005年,对当时和之后的COM组件开发具有一定的指导意义,尤其是在ATL技术的应用上,为开发者提供了一种有效提高开发效率的方法。
关键词:组件;接口;COM;ATL;包容;聚合
中图分类号:TP311 文献标识码:A
这篇论文深入浅出地阐述了如何利用ATL进行组件复用,对于理解和实践COM组件开发,尤其是包容和聚合机制,提供了有价值的理论基础和技术细节。