协议反应器框架
该框架使用 AcRx 协议扩展机制将类似反应器的对象与 AcRx 类相关联。该框架由一组基类和宏组成,这些基类和宏便于注册派生自 AcRx 类的类。AcRxProtocolReactorAcRxProtocolReactor 框架定义的主要对象包括
协议反应器源自该类。此基类仅提供运行时类型标识。从类派生的 Reactor 通过添加专用的通知回调函数来公开事件模型。例如,ObjectARX 提供了用于向块定义添加夹点、插入点和对齐点的反应器类。AcRxProtocolReactorAcRxProtocolReactor 为了接收事件通知,应用程序从所需的反应器类派生。然后,它们使用对象将其派生类的实例附加到相应的 AcRx 类。AcRxProtocolReactorManager 每个 AcRx 类最多有一个对象。如果应用程序请求 AcRx 类时没有对象与 AcRx 类关联,则应用程序必须调用全局对象来创建一个。工厂对象自动将新的管理器对象注册到指定的 AcRx 类,并返回指向调用应用程序的新指针。AcRxProtocolReactorManagerAcRxProtocolReactorManagerAcRxProtocolReactorFactoryAcRxProtocolReactorManager 对象维护与其关联的 AcRx 类注册的 reactor 对象列表。这些列表是类的对象。每个管理器都为在其 AcRx 类中注册的每个反应器类类型维护一个单独的列表。应用程序使用指针将其自定义反应器对象添加到相应的列表中。与普通协议扩展不同,协议反应器类的多个对象可能与单个 AcRx 对象相关联,如下图所示:AcRxProtocolReactorManagerAcRxProtocolReactorListAcRxProtocolReactorManager ![]() 应用程序负责分配和解除分配反应堆对象。分配反应器后,应用程序会将其添加到反应器列表中。在卸载之前,应用程序应从反应器列表中删除其反应器并释放关联的内存。尽管应用程序通常在加载时分配反应堆,并在卸载时解除分配反应堆,但实际时间由应用程序决定。 父主题: |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-5 18:04
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.