一、事件总线概念
1.基本概念
事件总线(Event Bus)是一种在软件架构中用于组件间通信的模式。它允许不同组件在应用程序中解耦并相互通信,而不需要显式地引用彼此。事件总线的概念类似于实际生活中的公共交通系统,各个组件就像乘客一样,可以通过总线来进行通信。
2.核心概念
-
事件(Event):事件是系统中某种状态的变化或者动作的抽象表示,它可以是任何需要通知其他组件的动作或变化。比如,用户点击了某个按钮、数据加载完成、系统启动等都可以是事件。
-
事件发布者(Event Publisher):也称为事件发送者或者生产者,负责发出(发布)特定类型的事件。当某个组件的状态发生变化时,事件发布者就会生成相应的事件并将其发送到事件总线上。
-
事件订阅者(Event Subscriber):也称为事件消费者,订阅者会监听事件总线上特定类型的事件,并在事件发生时执行相应的操作。订阅者可以选择订阅它感兴趣的事件,而忽略其他事件。
-
事件总线(Event Bus):事件总线是事件发布者和事件订阅者之间的中介,它负责接收和分发事件。当事件发布者发布一个事件时,事件总线会将该事件传递给所有订阅了该事件类型的订阅者。
二、事件总线优点
- 解耦性:事件总线可以帮助组件之间实现解耦,因为它们不需要直接引用彼此来通信,而是通过发布和订阅事件来进行通信。