构建自己的C/C++插件开发框架

——初步设想

 

 最近一直在学习OSGI方面的知识。买了一本《OSGI原理和最佳实践》,可是还没有到。遗憾的是,OSGI目前的几个开源框架只支持Java,对C和C++都不支持的。可惜我们公司目前主要的开发语言还是c和c++,即便是引进OSGI,所得的好处范围有限。而我对松散耦合的模块化开发向往已久。查了一下OSGI对C++支持的好像是有一个开源项目,不过好像应用范围很小。而SCA标准中是有对C++实现模型的支持的,但是几个开源的框架目前还只支持JAVA。

  昨天看了丁亮的转载的一篇博客《C/C++:构建你自己的插件框架 》,原文的链接:http://blog.chinaunix.net/u/12783/showart_662937.html 。看了一下里面讲的方法,自己倒是可以实现。所以有了构建自己的c/c++插件开发框架的想法。今天先写一下初步的设想。

  C/C++插件开发框架的要素

  BlueDavy有一篇介绍服务框架要素的文章(链接:http://www.blogjava.net/BlueDavy/archive/2009/08/28/172259.html )。我的插件框架也要考虑、解决以下的几个问题:

  1、如何注册插件;

  2、如何调用插件;

  3、如何测试插件;

  4、插件的生命周期管理;

  5、插件的管理和维护;

  6、插件的组装;

  7、插件的出错处理;

  8、服务事件的广播和订阅(这个目前还没有考虑要支持);

  其中有几个点很重要:1)插件框架要能够使模块松散耦合,做到真正的面向接口编程;2)框架要支持自动化测试:包括单元测试,集成测试;3)简化部署;4)支持分布式,模块可以调用框架外的插件。

  采用的技术 
  插件框架要解决的一个问题就是插件的动态加载能力。这里可以使用共享库的动态加载技术。当然,为了简单,第一步只考虑做一个linux下的插件框架。

  总体结构

  框架的总体结构上,参考OSGI的“微内核+系统插件+应用插件”结构。这里要好好考虑一下把什么做在内核中。关于微内核结构,以前我做个一个微内核流程引擎,会在后面有时间和大家分享。

  框架中模块间的数据传送,有两种解决方法:一是普元采用的XML数据总线的做法。优点是扩展性好,可读性好。但是速度有些慢。二是采用我熟悉的信元流。优点的效率高,访问方便,但是可读性差一点,另外跨框架的数据传送,需要考虑网络字节序的问题。

  对于框架间的通信,通过系统插件封装,对应用插件隐藏通信细节。

      部署

      努力做到一键式部署。

 

 

——总体功能

 

在这一系列的上一个文章中,介绍了构建C/C++插件开发框架的初步设想,下面我会一步步的向下展开,来实现我的这个设想。

今天主要谈一下我对这个框架的功能认识,或是期望。昨天看了一篇关于持续集成能力成熟度模型 的一篇文章,受此启发,我对此框架的认识渐渐清晰。

这个框架可以当做我们公司底层产品(交换机,资源服务器等)的基础设施。上层基于java开发的产品可以直接在OSGI上开发。

 

核心功能:

1、最重要的一个功能是,提供一个模块化的编程模型,促进模块化软件开发,真正的实现针对接口编程。

2、提供一个有助于提高模块可重用性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 轻量化插件开发框架C,是一种基于C语言的插件开发框架,旨在提升插件开发的效率和可扩展性。该框架的核心思想是将插件拆成多个小模块,并通过一个轻量级的内核将它们集成在一起。 使用该框架进行插件开发,可以轻松地实现插件的加载和卸载,同时也能方便地管理插件之间的依赖关系。此外,该框架还支持插件之间的消息传递和事件通知,使得插件之间的协作更加简单和高效。 值得特别强调的是,该框架的轻量化设计非常符合现代软件开发的趋势,不仅具有出色的性能和稳定性,还具备很高的可移植性和可复用性。因此,无论是开发单机软件还是分布式系统,使用该框架都能够大大简化开发流程,提高开发效率。 总之,轻量化插件开发框架C是一项非常有价值的技术,为插件开发者提供了一个高效、稳定、可扩展的开发环境。随着越来越多的软件系统开始采用插件化架构,该框架在未来的发展中将扮演着越来越重要的角色。 ### 回答2: 轻量化插件开发框架是一种基于C语言的开发工具,旨在提供一套简单易用的开发平台,用于开发轻量级插件。它的主要特点是代码轻量级,模块化设计,易于扩展和定制化。 轻量化插件开发框架C是针对嵌入式系统等资源受限环境而设计的,具有小巧、高效、灵活等特点。它可以帮助开发者快速地创建功能齐全、可定制的插件。同时,它也提供了一些常用的插件服务,如配置管理、日志记录、网络通信等,开发者可以直接调用这些服务,从而减少开发的工作量。 使用轻量化插件开发框架C,开发者可以快速构建插件,并通过模块化的方式管理代码,便于维护和扩展。此外,由于轻量化插件开发框架C采用了C语言作为开发语言,它可以与其他C语言开发的项目无缝集成,方便开发者利用现有的代码资源,减少重复开发的工作。 总而言之,轻量化插件开发框架C是一种高效、灵活、易于扩展的开发工具,具有小巧、高效、模块化设计等特点,能够帮助开发者快速构建插件,并使其更易于维护和扩展。 ### 回答3: 轻量化插件开发框架C是一种基于C语言的轻量级软件开发框架,旨在优化软件开发的效率并减少开发成本。该框架主要用于为主流操作系统和软件平台开发各种类型的插件和模块,包括嵌入式应用程序、浏览器插件、GUI插件、游戏插件、多媒体插件、系统工具和驱动程序等。其本质是一个用于插件开发的API集合,它提供了一种标准化的方式,使应用程序能够通过简单的接口调用来访问各种插件。 轻量化插件开发框架C的主要优点是灵活性和可扩展性。它可以被轻松地集成到任何C/C++软件项目中,并且通过支持各种自定义插件类型和数据格式,可以满足几乎所有开发需求。此外,该框架还具有开发周期短、代码量少、运行速度快等特点,这使得它成为开发人员首选的插件开发框架之一。 轻量化插件开发框架C的实现需要遵循一些核心原则。首先,插件必须尽可能简单,接口必须明确,以确保插件可以灵活地进行配置和管理。其次,框架必须提供一些必要的运行时功能,如内存管理、日志分发、线程池等,以保证插件的运行稳定性和可靠性。最后,插件必须高度可扩展,以支持各种新的插件类型、数据格式和操作系统平台。 总之,轻量化插件开发框架C是一种高效、灵活和易于使用的插件开发框架,它可以大大提高软件开发的效率和质量,适用于各种大小规模的软件项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值