最近在学习ACE,把一些笔记整理一下。
ACE 自适配通信环境 (Adaptive Communication Environment) 是面向对象的框架和工具包,它为通信软件实现了核心的并发和分布式模式。
ACE 体系结构
如图1-1 所示,ACE 具有分层的体系结构。在ACE 框架中有三个基本层次:
1.操作系统(OS)适配层
2.C++ 包装层
3.框架和模式层
OS适配层
OS适配层是位于本地OS API和ACE 之间的“瘦”代码层,它使ACE 的较高层与平台依赖性屏蔽开来,从而使得通过ACE编写的代码保持了相对的平台无关性。只需要极少的努力,开发者就可以将ACE 应用移植到任何平台上。
C++ 包装层
C++ 包装层包括一些C++ 包装类,它们可用于构建高度可移植的和类型安全的C++ 应用。这是ACE工具包最大的一部分,大约包含了总源码的50% 。C++ 包装类可用于: 并发和同步,IPC,内存管理组件,定时器类,容器类,信号处理,文件系统组件, 线程管理。
ACE 框架组件
ACE 框架组件是ACE 中最高级的“积木”,它们的基础是若干针对特定通信软件领域的设计模式。
设计者可以使用这些框架组件来帮助自己在高得多的层面上思考和构建系统。这些组件实际上为将要构建的系统提供了“袖珍体系结构”,因此这些组件不仅在开发的实现阶段、同时在设计阶段都是有用的。ACE 的这一层含有以下一些大型组件:事件处理,连接或服务初始化组件,流组件,服务配置组件。
大多数的网络化应用可以通过ACE这样的可移植中间件进行开发,因为ACE封装并加强了本地操作系统机制,通过其组件可以移除底层操作系统API的繁琐和易错性创建可重用的网络程序。