ctk是什么?
简单来说他是一个数据通信框架,对于大系统框架下的数据通信非常有用,主要通过事件订阅机制,来进行各系统插件之间的数据交互。
本文主要叙述自己的项目如何应用此框架
我们公司的产品简单来说是将各种三维模型显示在地球上,同时需要做几件事情
1、模型的移动、反转、放大、缩小等操作
2、对于二三维数据模型的同步显示
3、外部命令的接收以及处理
如果将所有功能放在一个exe显然对编译运行是一种灾难,所以必须将功能进行分割做成动态库,然后上层调用动态库来实现各种功能。如此分割可以将各功能分配给不通的部门进行开发,这样做降低了模块之间的耦合,但是各模块之间还会存在数据交互,比如二维和三维本来是独立运作,数据接收和显示模块也是相互独立的,如何进行交互成了问题此时ctk排上用场
使用ctk的订阅注册机制,可将底层的数据反馈回给ctk,ctk再看谁订阅了这部分数据,再将数据发给谁,这样既保证各模块低耦合的特点,各模块开发干扰小,又保证了数据被正常接收。