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