当前位置: 首页 > news >正文

14:高级篇 - CTK 服务工厂 简述

作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员

一般情况下,服务对象在被注册之后,任何其它的 Plugin 在请求该服务时,CTK Plugin Framework 都返回的是同一个对象。倘若要为每一个 Plugin 消费者返回不同的服务对象,或者在真正需要该服务对象时才创建,这时该怎么办?

针对这些情况,CTK Plugin Framework 提供了现成的解决方案 - ctkServiceFactory。通过实现 ctkServiceFactory 接口,将该类的对象注册为服务(不是注册实际的服务对象),当 Plugin 请求该服务时,ctkServiceFactory 实现类将接管该请求,分别为每个 Plugin 提供一个实际的服务对象。

服务工厂

使用 ctkServiceFactory,有很多好处:

  • 有时 Service 需要知道是哪个 Plugin 在使用它(例如:LogService,需要在日志中记录哪个 Plugin 调用了它)。
  • 延迟初始化 Service(延迟服务对象的创建,直到真正需要它们为止)。
  • 对消费者透明(消费者不知道提供服务的是普通 Service 还是 ctkServiceFactory)。
  • 可以创建多种服务,根据参数 ctkServiceRegistration 来判断。

ctkServiceFactory 定义如下:<

http://www.lryc.cn/news/11992.html

相关文章:

  • Java中的链表实现介绍
  • 演示Ansible中的角色使用方法(ansible roles)
  • Bash Shell 通过ls命令筛选文件
  • 2023-2-18 刷题情况
  • 【Linux】进程控制
  • 谷歌seo快排技术怎么做?Google排名霸屏推广原理
  • MySQL的优化
  • 实现qq群消息接收和发送功能
  • 压缩20M文件从30秒到1秒的优化过程
  • 如何选择合适的固态继电器?
  • SAP 忘记SAP系统Client 000的所有账号密码
  • Connext DDS可扩展类型Extensible Types指南
  • Docker简单使用
  • A Time Series is Worth 64 Words(PatchTST模型)论文解读
  • 微服务学习:SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • nginx平滑升级
  • 高可用的“异地多活”架构设计
  • 【面试题】Map和Set
  • Spring之事务底层源码解析
  • 【华为OD机试真题 Python】创建二叉树
  • RuoYi-Vue-Plus搭建(若依)
  • uboot和linux内核移植流程简述
  • 【CS224W】(task2)传统图机器学习和特征工程
  • 【算法基础】并查集⭐⭐⭐⭐⭐【思路巧,代码短,面试常考】
  • 人工智能轨道交通行业周刊-第34期(2023.2.13-2.19)
  • Retrofit 网络框架源码解析(二)
  • SQL Server 2008新特性——更改跟踪
  • 四六级真题长难句分析与应用
  • 华为OD机试 - 玩牌高手(Python) | 机试题算法+思路 【2023】
  • 【论文阅读】 Few-shot object detection via Feature Reweighting