• CTK-接口、插件、服务


    0、概念

    接口就是纯虚函数类,也就是最终的服务的前身;

    插件就是实现这个接口类的实现类,所以理论上有多少个实现类就有多少个插件。注意每个插件都有自己的注册器Activator;

    服务就是根据接口的实例,每生成一个服务就会调用一次注册器的start。

    一句话总结就是:把接口当做类,服务是根据类new出的对象,插件就是动态库dll

    1、1对1

     1个接口类由1个类实现,输出1个服务和1个插件。

    2、多对1

       1个类实现了2个接口类,输出2个服务和1个插件,无论想使用哪个服务最终都通过这同一个插件来实现

    3、1对多

        1接口由2个类实现,也就是某一个问题提供了2种解决思路,输出1个服务和2个插件,通过ctkPluginConstants::SERVICE_RANKING和ctkPluginConstants::SERVICE_ID来调用不同的插件。这里虽然有两个插件,但都是被编译到同一个dll中的。

    ps:

    ①、某插件每次调用另一个插件的时候,只会生成一个实例,然后把实例存到内存当中,不会因为多次调用而生成多个服务实例。

  • 相关阅读:
    简单排序算法
    线程池第二篇:线程池相关类
    枚举的使用
    线程池第一篇:线程池相关接口
    mysql InnoDB引擎与MyISAM引擎区别及索引原理
    待重写
    mysql登录命令
    浅拷贝、深拷贝
    grpc:What is gRPC
    protocol buffer第一篇:语法介绍
  • 原文地址:https://www.cnblogs.com/judes/p/13220739.html
Copyright © 2020-2023  润新知