OSGI 技术是面向 Java 的动态模型系统。Java 圈子里有非常著名的一句话:OSGI - 架构师的天堂。换句话说,OSGI 能让软件开发变得更加容易!
值得庆幸的是,在 C++ 中也有类似的框架 - CTK Plugin Framework。它借鉴了 OSGI 的思想,并实现了几乎完整的 OSGI 框架 API!
在通往架构师的道路上,不仅需要了解面向组件(或服务)的设计和实现,更应当了解其背后的原理。本课程,我们将主要围绕 CTK,探索 C++ 中的模块化技术。希望通过分享的知识,大家能够了解 OSGI 内部的工作机制,并能够基于 CTK 快速搭建 C++ 组件化框架。
本课程共包含四大部分:
- 第一部分(第 01-03 课):入门篇,初步了解,包括框架选择标准、OSGI 和 CTK 之间的关系、CTK 的优势解析及基础初探。
- 第二部分(第 04-10 课):进阶篇,开始使用,包括开发环境的搭建,CTK 的编译、插件的创建、以及如何在程序中嵌入插件框架等功能。
- 第三部分(第 11-17 课):高级篇,掌握核心,CTK 事件管理机制、日志管理、服务追踪、事件与监听等功能。
- 第四部分(第 18 课):总结篇 ,FAQ 常见问题,针对 CTK 中的常见问题进行快速分析,并给出最合理的解决方案。
以下是各个部分的具体内容,以及示例源码:
课程地址 | 示例源码 |
---|---|
《第 01 课:入门篇 - 初识 CTK》 | --- |
《第 02 课:入门篇 - 漫谈 CTK》 | --- |
《第 03 课:入门篇 - CTK Plugin Framework 基本原理》 | --- |
《第 04 课:进阶篇 - 编译 CTK》 | --- |
《第 05 课:进阶篇 - 使用 CTKWidgets》 | UseCTKWidgets |
《第 06 课:进阶篇 - Hello,CTK!》 | HelloCTK |
《第 07 课:进阶篇 - 在程序中嵌入 CTK Plugin Framework》 | EmbedCTK |
《第 08 课:进阶篇 - CTK 插件元数据》 | GetMetaData |
《第 09 课:进阶篇 - CTK 插件和服务》 | PluginAndService |
《第 10 课:进阶篇 - CTK 插件之间的依赖》 | RequirePlugin |
《第 11 课:高级篇 - CTK 事件管理机制(上)》 | --- |
《第 12 课:高级篇 - CTK 事件管理机制(中)》 | EventAdmin/SendEvent |
《第 13 课:高级篇 - CTK 事件管理机制(下)》 | EventAdmin/SignalSlot |
《第 14 课:高级篇 - CTK 服务工厂》 | ServiceFactory |
《第 15 课:高级篇 - CTK 事件与监听》 | EventListener |
《第 16 课:高级篇 - CTK 服务追踪》 | ServiceTracker |
《第 17 课:高级篇 - 访问 CTK 服务的最佳方式》 | --- |
《第 18 课:总结 FAQ》 | --- |
- C++/Qt 中高级开发工程师、架构师
- 专注于模块化协作的开发者
- 希望能快速掌握 CTK 的开发者
各位小伙伴们,欢迎猛戳:
- 个人博客:一去、二三里
- 微信号:iwaleon
- 微信公众号:高效程序员
更多干货,请扫码关注微信公众号,不要太惊喜哦~