我正在研究一组本质上是插件的东西,它们是 COM 服务器。每个插件都有一组配置数据,由另一个组件管理,配置数据的主键是插件的 ProgID。当插件需要访问配置项时,它会进行调用并传入其 ProgID 和所需属性的名称。这是一个遗留设计,我必须保持向后兼容性。
我现在需要加载每个插件的多个实例,每个实例都有一组不同的配置数据。我正在考虑的解决方案是为每个插件创建多个唯一的 ProgID,每个 ProgID 将指向插件的单个 ClsId。因此,插件的每个实例都将由其 ProgID 标识,ProgID 仍用作配置数据的主键,并且所有内容都是 100% 向后兼容的。
所以,问题:
- 这是一种可接受的技术吗?(多个 ProgID 都指向一个 ClsID)。
- 当我的插件加载时,它能够分辨出使用哪个 ProgID 来创建它吗?