Events:C ++ 11事件分派的简单概念证明

时间:2024-06-11 02:05:39
【文件属性】:

文件名称:Events:C ++ 11事件分派的简单概念证明

文件大小:5KB

文件格式:ZIP

更新时间:2024-06-11 02:05:39

C++

大事记 该存储库包含事件分发程序的简单实现。 它的设计灵感来自古老的,但在几个方面有所不同: 事件调度程序提供了一个公共接口来通知观察者。 因此,事件可以从外部触发。 客户不需要了解有关观察者的任何信息。 事件系统中的所有参与者都是松散耦合的。 调度程序仅知道基本事件类。 观察者只需要提供一个带有预定义接口的插槽即可。 观察者可以订阅和取消订阅接收事件。 技术细节 此实现使用纯C ++ 11功能工作。 事件处理的核心是任意函数对象。 每个观察者都需要实现一个具有特定接口的插槽。 然后将这些功能对象存储在映射中,该映射由事件描述符索引。 当前,事件描述符只是一个const char* 。 这似乎很容易实现。 事件描述符已更新为可以处理任意类型,但是map思想仍然保留在原地。 发布新事件后,调度员仅需要遍历地图并调用所有对应的插槽。 请查看文件Demo.cc进行简单演示。 局限性 目前


【文件预览】:
Events-master
----Dispatcher.hh(1KB)
----DemoEvent.hh(570B)
----Demo.cc(2KB)
----LICENSE(1KB)
----.gitignore(81B)
----CMakeLists.txt(177B)
----Event.hh(877B)
----README.md(2KB)

网友评论