背景
- 有不同类型的消息
- 不同类型的消息需要被不同的member进行消费
实现
- DataType:数据的类型,包含了一个数据传输的引用,dataBus
- AbstractDataType:抽象的数据的类型,用来进行设置数据传输的小火车
- StoppingData:具体的消息类型,停止的消息
- StartingData:具体的消息类型,开始的消息
- Member:消费者的接口,用来接收DataType,也就是事件进行消费
- MessageCollectorMember:具体的实现消费者,内部有自己的实现逻辑
- StatusMember:具体的消费事件的消费者
- DataBus:事件的传送者,内部维护了一个消费者的set的列表。包含对消费者的订阅和取消订阅,以及发布事件,发布事件的实现通过消费者的列表来进行实现