用程序的各个组件通过异步事件进行通信。在这种架构中,事件被发布到事件总线或消息队列中,并由感兴趣的组件订阅并处理。这种架构非常适合于需要高可伸缩性、高可靠性和低耦合性的系统。
以下是一个简单的C语言示例代码,展示了如何使用事件驱动架构的基本思想。这个例子将创建一个简单的事件循环,用于发布和订阅事件。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义事件类型
typedef enum {
EVENT_TYPE_HELLO,
EVENT_TYPE_GOODBYE,
// 可以添加更多事件类型
} EventType;
// 定义事件结构
typedef struct Event {
EventType type;
void *data; // 可以附加的数据
} Event;
// 事件回调函数类型
typedef void (*EventHandler)(const Event *event);
// 事件处理函数
void handleHello(const Event *event) {