这几天为了设计插件开发框架,尝试用了一下发散思维来思考问题。中间看过依赖注入,AOP(面向方面编程),以及契约式设计等。虽然有些工具无法直接使用,但是这些思想还是可以借鉴的,比如依赖注入,契约式设计。至于AOP,和工具相关性较大,虽然思想不错,但是无法直接在C++中使用。

我设计的插件间的依赖不是通过接口实现的,而是通过插件间的数据(信元流)。而信元流的检测可以使用契约来检查。

插件开发框架的总体结构

结构图

微内核

1、 负责插件的加载,检测,初始化。

2、 负责服务的注册。

3、 负责服务的调用。

4、 服务的管理。

扩展层:

1、 日志的打印。

2、 消息(信元流)的解释,将二进制格式解释为文本。便于定位。

3、 消息和日志的追踪。

分布式处理层:

1、 用于和其他的框架通信。

2、 和其他的框架搭配,形成一个分布式的系统。

自动化测试框架层:

1、 集成 cppunit 。

2、 自动化集成测试框架。

3、 自动化功能测试框架。

和第三方框架集成层:

1 、和 第三方框架 集成层。


只有注册用户登录后才能发表评论。


网站导航:
 

posts - 19, comments - 0, trackbacks - 0, articles - 0

Copyright © 常高伟