1 轻量级组件各部分的协作关系
跨平台轻量级组件技术可以COM标准为基础来实现,可先定制Com库,并确定编写组件的规范。
轻量级组件技术使用的是分层结构,该结构通常可分为客户端、Com库、组件端三个层。图1所示是其轻量级组件的结构图。其中,组件端用于提供功能和接口;COM库负责组件和客户端的通信,客户端则通过Com库创建组件,并调用组件接口。

它们三部分一般通过接口进行通信,其具体过程如图2所示。

在实际应用中,Com库一般可由图3所示两部分构成。实际上,图3中的Comku是一个动态库,负责提供最核心的功能:ExtensionSystem静态库是对Comku的封装,为了使用方便,它同时提供了生成插件接口的宏以及CPluginManager类中的接口函数。下文中如不特别指明,Com库均表示单一的动态库。

整个组态的人机界面软件是在QT中实现的,因此组件的核心库也需要使用QT来实现。QT是一个多平台的C++图形用户界面应用程序框架。它可以提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。QT是完全面向对象的、很容易扩展、且可支持源代码的级跨平台。直接在QT环境中实现轻量级组件技术,以达到跨平台的目的。实际上,组件库本身并不依赖于QT环境。 |