C++ 公共组件-对象消息总线库

本文介绍了一种基于C++的公共组件——对象消息总线库,该库通过消息总线技术有效解决对象间关系复杂、耦合性强的问题。文章详细阐述了消息总线的关键技术和设计思想,包括通用消息定义、消息注册与分发机制,并提供了类图和实现流程。

C++ 公共组件-对象消息总线库

消息总线介绍

对象之间的关系一般有:依赖、关联、聚合、组合和继承,耦合关系也是依次加强的。对象间比较常见的关联关系是依赖、引用和继承。在大规模的软件开发过程中,对象很多,关联关系也非常复杂,如果没有一种统一、简洁的方法去管理这些对象的关系,很可能会导致对象的关系像蜘蛛网一样,导致后面维护的困难。对象间直接依赖或引用会导致依赖、引用关系复杂化;接口依赖是一种强耦合关系,不满足低耦合要求。因此,需要一种技术解决对象间关系过于复杂、耦合性较强的问题。

基于消息总线技术可以有效地解决这些问题,对象间只通过消息联系,而不是通过直接依赖或者关联。消息总线将复杂的对象关系简化了,降低了复杂度,也使我们从处理复杂的对象关系网之中解放出来,提高了程序的可维护性。

在消息总线中,对象都是通过消息来联系的,消息即对象的关系,我们只需要在消息总线中管理这些消息,而不用关心具体哪些对象之间有关联,这样便于统一管理。由于对象之间只是依赖于某种消息,没有直接的依赖关系,也不需要继承,对象间的耦合也消除了,两个对象之间可以没有任何关系,大大降低了对象之间的耦合性。

消息总线关键技术

(1)通用的消息定义
消息总线技术的本质是让所有的对象都通过消息来联系,因此,需要定义一种通用的消息格式,让所有的对象都能接受。
(2)消息的注册
让所有对象都可以注册感兴趣的消息。
(3)消息分发
通过消息总线分发消息,让所有的接收者都能收到并处理消息

消息总线设计思想

消息总线时序图

在这里插入图片描述
从上图可以看出,Subject和Object对象并没有联系,它们都是通过消息总线发生联系的。下面介绍消

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值