C++插件平台--开源项目
来源:互联网 发布:淘宝买vip会员被骗 编辑:程序博客网 时间:2024/04/28 01:14
第1章 平台概述
1.1. 描述
插件开发在Java领域比较普遍,但是在C++方面却比较少见;而中通的CPP开发平台(简称ztlpc)就是面向C++开发人员的插件式平台。
1.2. 目标
ztlpc的目标是减少学习成本、降低开发难度、提高开发效率、增强系统的稳定性,为企业级应用提供较为全面的支撑。
1.3. 现状
ztlpc是依托项目、借助开源,而沉淀的一开发平台;当前版本和行业结合的较为紧密,随着版本的发布,平台的通用性会不断提升。
1.4. 展望
由于公司的理念是献身开源、服务开源,所以当ztlpc跳出行业限制之后,也会逐步走向开源之路。
第2章 设计原理
2.1. 热插拔,自动升级
插件式开发,支持插件的动态加载卸载。C/C++可以单独部署的最小单元是动态库,所以插件是动态库的形式存在。
系统可以自动检测动态库的变化,在不停止服务的情况下实现功能的扩展和系统的升级。
2.2. 微内核,稳定可靠
插件运行环境采用微内核的开发思想,确保系统的稳定。插件运行环境采用进程池机制,同时还支持主动模式(无监听端口)和被动模式(监听端口)。
2.3. 强化技术,简化业务
分离技术平台和业务平台,技术平台封装基础类库和运行框架,简化业务开发的难度,最大化复用基础组件。
2.4. 接口编程,统一规范
业务模块的开发,统一编程接口,真正做到面向接口编程、施行面向对象开发思想。
2.5. 性能优先,扩展次之
插件之间数据通讯,优先考虑性能,所以XML数据总线的方式不可取,性能最高的莫过于数据指针的传输。
第3章 功能架构
架构层次图
3.1. 基础组件
² 屏蔽线程和进程的管理
基于基础组件开发看不到线程和进程,只需要开发功能组件和业务组件,并且两种组件都是动态库的形式存在。
² 实现功能的热部署
当动态库或框架配置文件有变化时,基础框架可以自动加载组件,实现功能扩展和系统的升级。
² 实现功能扩展框架
支持功能的扩展,不用修改现有的组件,只需增加相应的业务组件即可实现功能的增加,在架构层次上就实现了对开闭原则的支持。
² 支持主动被动模式
支持主动模式,同时也支持主动模式;基于基础组件可以开发服务器端系统,也可以开发客户端系统。
² 提供资源池的封装
对以一些常用的调用提供统一的接口。
² 提供简单易用的开发接口
以类的方式提供开发接口,同时提供开发实例,降低开发的难度。
3.2. 功能组件
² 数据库读写类
操作数据库,读写数据中的内容,保证数据库操作的完整性、一致性。
² 数据生成类
组装数据,方便组件之间的数据交换。
² 业务计算类
计费结算系统会有大量的计算公式、优惠策略,所以本类组件即为业务优惠计算的封装等等。
3.3. 业务组件
² 流程控制类
调用功能模块,组装成业务功能。
² 事务控制类
确保业务功能的原子操作性。
² 接口实现类
实现组件的接口,以至于可注册到组件运行框架上,并正常运行。
第4章 使用流程
使用流程图
第5章 版本规划
版本
时间
目标
V0.X
2010
依托项目预算发布0.1版本,验证框架的可行性;
V1.X
2011
依托项目发布1.0版本,满足用户的开发需求,稳定上线;
支持Linux平台;
平台移植;
V2.X
2012
支持OSGI标准;
开发Eclipse插件;
发布标准的开发包;
V3.X
2013
走开源路线,贡献开源
- C++插件平台--开源项目
- 开源项目:C/S聊天系统平台 jchatting
- 跨平台开源项目
- C++插件平台开源计划
- JAVA开源项目剖析平台--帮助
- 开源项目管理平台redmine简介
- 阿里巴巴开源平台新增项目Druid
- 微软CodePlex平台开源项目TOP10
- 微软CodePlex平台开源项目TOP10
- 开源项目共享平台推荐
- 以太坊平台开源项目
- 开源项目-物品交换平台
- 跨平台开源项目Ngui【入门】
- 跨平台开源项目Ngui【简介】
- C 开源项目
- C开源项目
- C开源项目
- {开源项目}之wireshark插件开发
- spring事物配置
- MFC单选按钮
- 探寻代码民工的根本原因
- 软件开发中什么最重要
- 关于vc6.0slider滑块控件背景图片经验总结
- C++插件平台--开源项目
- float属性
- Qt标准对话框之QFileDialog
- DSP2812调试心得之GPIO
- C++插件平台开源计划
- c3p0在spring中的配置
- Qt 打开文件对话框
- 弦图判断
- 事实表的设计