* add state and callback pattern * add command and template-method pattern * add iterator pattern * add bridege and DI pattern * fix issue #1600 * add converter,proxy,visitor pattern * add caching,composite,delegation,dirty-flag,interpreter patterns * add dao and producer-consumer * add dto and provate class data pattern * fix #1646 png path problems * fix #1646 composite png path case problem * add abstract document pattern and version-number pattern * add ambassador pattern * add acyclic-visitor and api-gateway pattern * add abstract-factory pattern * add active-object pattern * add aggregator-microservices and arrange-act-assert pattern * update async-method-invocation pattern * add balking and business-delegate pattern * add bytecode and circuit-break pattern * update arrange/act/assert pattern problems * add csch pattern * add language code, correct pic path * #1805 update permalink Co-authored-by: Subhrodip Mohanta <subhrodipmohanta@gmail.com> Co-authored-by: Mike <admin@xiaod.info> Co-authored-by: Ilkka Seppälä <iluwatar@users.noreply.github.com>
layout, title, folder, permalink, categories, language, tags
layout | title | folder | permalink | categories | language | tags | |
---|---|---|---|---|---|---|---|
pattern | Data Bus | data-bus | /patterns/data-bus/ | Architectural | zh |
|
含义
数据总线模式(译者:实际上,就是 Event-Bus 消息总线模式)允许在一个应用程序的组件之间收发消息/事件,而不需要这些组件相互感知,它们只需要知道所发送/接收的消息/事件的类型即可。
类图
适用场景
可以在以下场景使用数据总线模式:
- 你希望由你的组件自己决定要接收哪些信息/事件
- 你希望实现多对多的通信
- 你希望你的组件不需要感知彼此
相关模式
数据总线类似于以下设计模式:
- 中介者模式(Mediator pattern),由数据总线成员自己决定是否要接受任何给定的消息。
- 观察者模式(Observer pattern),但进一步支持了多对多的通信。
- 发布/订阅模式(Publish/Subscribe pattern),但是数据总线将发布者和订阅者解耦。