作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
CTK Plugin Framework 技术是面向 C++ 的动态模型系统。该系统允许插件之间的松散耦合,并且提供了设计良好的方式来进行功能和数据的交互。此外,它没有预先对插件施加限制,这样就可以很容易地将插件的相关部分嵌入到现有的工具包中。
体系架构
CTK Plugin Framework 设计(参考:设计文档
)受到了 OSGi(Java 的动态组件系统)的极大启发,并且它提供了一种能让应用程序(动态地)由许多不同的(可重用)组件组成的开发模型。该模型允许通过服务进行通信,服务是特定于组件之间的对象。
框架的分层模型,如下图所示:
- Plugins(插件):由开发人员创建的 CTK 组件
- Services Layer(服务层):通过为 C++ 对象提供一个 publish-find-bind 模型,以动态方式连接插件。
- Life Cycle La