当前位置: 首页 > news >正文

介绍ACE C++网络通信框架


很久以前笔者也不太熟悉ACE C++网络通信框架,偶然的机会逐渐接触后,发现它的优良!


总结来看它的有点如下

  • 非常适合后台无界面网络通信的系统编程

适合小型化核心网使用;但值得注意,如果您需要的是web领域技术栈,则JAVA等框架则更为适合

  • 可以跨多种OS平台

虽然现在,在Linux系统几乎主宰了服务器的时代,这个特点并不算什么,但是,在_“七国八制”_的时代,后台代码工程能具有此种特点,还是非常节省气力的。特别地,您仍可以在windows调试完代码,然后部署到Linux上去运行,也还是非常节省气力的。
注:以前很多项目为了实现windows可调试工程,还是费了不少力气,ACE框架可以让你事半功倍

  • 半成品代码,框架提供了主要的骨干组件,开发者仅需关注业务逻辑即可

框架相对于设计模式来讲,在更大尺度结构上提供了复用,使得它在特定领域可以成为领域语言,具有通用性。相比更局限在细部的编程规范,如果使用框架的一致,保持技术栈保持一致性,项目在这方面也可以节省不少气力

ACE_Task模板类自带线程能力和消息队列,对于编程中多线程协作非常有利。可以比较方便地扩展出JOB编程,在一个ACE_TASK中通过队列消息,派发到所管理的JOB任务中进行调度执行

  • 默认提供了高效的实现

我们知道在程序中,必须使用特定的算法或者数据结构,才能提供在理论上和实际运行中的高 效。而一般程序员对于此种深度的计算机科学知识积累往往欠缺,所以,能不发明轮子,就直接复用轮子好了

在笔者最初深入研究ACE定时器实现时,发现定时器的底层默认使用“最小堆”的堆排序数据结构;后来求证于其它实现,例如,JAVA定时器实现、libevent等定时器实现,发现也是用此种数据结构。

最小堆是定时器的通用解决方案,但一般人不一定一下子就想得到。

  • 优良的设计模式实践

在ACE中实践了很多设计模式,可以根据代码实现,研究和学习设计模式

  • 优良的API接口实现

    对于常见的setter和getter类接口,ACE借助C++的重载技术,提供了非常统一的另外一种设计思想,也非常友好可读。例如,在ACE_Time_Value中msec属性的设置和获取的接口设计

    对于各种扩展,提供了大量默认参数值。具有默认值的参数,统一全部靠右

  • 模板扩展实现偏序化

    在ACE中大量使用模板进行扩展,相比较于接口扩展,模板扩展,对于扩展提供了更弱的要求。只要叫声像鸭子,就可以将其看成鸭子。在这点上,接口扩展定死了使用规范要求,而用模板的话,则可以要求的更宽泛一点

参考资料

  • ACE官网
  • ACE github
http://www.lryc.cn/news/3221.html

相关文章:

  • 【Mac OS】JDK 多版本切换配置
  • RabbitMQ-Exchanges交换机
  • 离散数学 课时二 命题逻辑等值演算
  • Debezium系列之:事件扁平化转换SMT,简化debezium数据格式,为数据添加head,为值添加键值对
  • 内网渗透(十八)之Windows协议认证和密码抓取-本地认证(NTML哈希和LM哈希)
  • Portraiture全新4.0最新版人像磨皮插件更新内容
  • 前端也能悄悄对视频截图?js实现对视频按帧缓存
  • TCP、UDP网络编程面试题
  • 用网络调试助手测试PLC-Reocrder收听模式的过程
  • 牛客小白月赛66
  • 加载sklearn新闻数据集出错 fetch_20newsgroups() HTTPError: HTTP Error 403: Forbidden解决方案
  • 图解LeetCode——剑指 Offer 53 - I. 在排序数组中查找数字 I
  • python 实现热门音乐分析 附代码+数据 +论文
  • 【2335. 装满杯子需要的最短总时长】
  • 再不跳槽,就晚了
  • Java 内存结构解密
  • ROS小车研究笔记2/11/2023:使用ssh远程登录小车
  • koa ts kick off 搭建项目的基本架子
  • h2database源码解析-查询优化器原理
  • 2月11日,30秒知全网,精选7个热点
  • vue组件的构成 <template> <script> <style>节点的使用 <
  • windows + vscode + rust
  • 二十九、异常处理
  • RTOS之二环境搭建初识RTOS
  • 【Java】 JAVA Notes
  • Java笔记-volatile和AtomicInteger
  • [标准库]STM32F103R8T6 高级定时器--PWM输出和带死区互补PWM输出
  • Camtasia2023最新版电脑视频录屏记录编辑软件
  • 管理用户安全性
  • 分享113个JS菜单导航,总有一款适合您