当前位置:编程学习 > C/C++ >>

构建自己的C/C++插件开发框架(一)——初步设想

C/C++插件开发框架的要素
首先解决以下的几个问题:

1、如何注册插件;

2、如何调用插件;

3、如何测试插件;

4、插件的生命周期管理;

5、插件的管理和维护;

6、插件的组装;

7、插件的出错处理;

8、服务事件的广播和订阅(这个目前还没有考虑要支持);

其中有几个点很重要:1)插件框架要能够使模块松散耦合,做到真正的面向接口编程;2)框架要支持自动化测试:包括单元测试,集成测试;3)简化部署;4)支持分布式,模块可以调用框架外的插件。

采用的技术
插件框架要解决的一个问题就是插件的动态加载能力。这里可以使用共享库的动态加载技术。当然,为了简单,第一步只考虑做一个linux下的插件框架。

总体结构

框架的总体结构上,参考OSGI的“微内核+系统插件+应用插件”结构。这里要好好考虑一下把什么做在内核中。关于微内核结构,以前我做个一个微内核流程引擎,会在后面有时间和大家分享。

框架中模块间的数据传送,有两种解决方法:一是普元采用的XML数据总线的做法。优点是扩展性好,可读性好。但是速度有些慢。二是采用我熟悉的信元流。优点的效率高,访问方便,但是可读性差一点,另外跨框架的数据传送,需要考虑网络字节序的问题。

对于框架间的通信,通过系统插件封装,对应用插件隐藏通信细节。

      部署

      努力做到一键式部署。

 

补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,