09:进阶篇 - CTK 插件和服务
Posted 一去丶二三里
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了09:进阶篇 - CTK 插件和服务相关的知识,希望对你有一定的参考价值。
作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
定义 CTK 服务
CTK Plugin Framework 允许每个 Plugin 对外提供一组服务,其它的 Plugin 都可以访问这些服务,这也就是 CTK Plugin 之间的调用方式。
在 CTK 中,服务是由标准的 C++ 类或接口定义的,定义服务分为两步:
- 定义你想要提供服务的类或接口,这被称为服务接口。
- 为服务型接口编写实现类。
可以通过 CTK 运行时注册服务实现并使用现有服务,为此 CTK 提供了一个中央服务注册中心。
插件和服务
在《06:进阶篇 - Hello,CTK!》一节中,我们介绍了插件的一些基本概念,并演示了如何去创建一个插件。但这个插件可以说是最简单的 - 一个插件创建一个对象,并在一个接口下进行注册。
但在实际开发过程中,插件的编写往往会比较复杂:
- 一个插件使用多个接口
一个插件可以创建一个对象,并在一个或多个接口下使用 CTK Service Registry 注册它,其他插件可以要求 registry 列出在特定接口下注册的所有服务(对象)。
- 多个插件使用同一接口
以上是关于09:进阶篇 - CTK 插件和服务的主要内容,如果未能解决你的问题,请参考以下文章
07:进阶篇 - 在程序中嵌入 CTK Plugin Framework