【发布时间】:2019-11-13 07:35:45
【问题描述】:
我面临一个设计问题。我正在使用 DDS(数据分发服务)协议在应用程序之间进行通信。 在我的 DDS 库中,我有 3 个类: - DDSWriter 将消息写入其他应用程序 - DDSReader 从其他应用程序读取消息 - DDSManager 实例化另外两个,管理它们并成为应用程序的入口点
DDSManager 有一个引用 DDSWriter 的对象和另一个引用 DDSReader 的对象。 DDSReader 有一个线程持续读取我们收到的数据,但没有我们引用 DDSManager 的对象。
在这种情况下如何将数据从 DDSReader 发送到 DDSManager ?
提前感谢您的帮助。
【问题讨论】:
-
对我来说就像家庭作业。请告诉我们你尝试了什么。
-
您认为
DDSReader是否必须保留其管理器的引用(或指针,或上下文中的其他内容)? -
我什么也没做,我只是在实现我的代码之前考虑这个问题。我认为 DDSReader 没有经理的参考。 Manager 有对 DDSReader 的引用,因为它创建了这个对象,但为了干净,我希望 DDSReader 没有对 DDSManager 的引用,但我需要将数据从 DDSReader 发送到 DDSManager。
标签: c++ design-patterns architecture