【问题标题】:Communication between manager class and object class管理器类和对象类之间的通信
【发布时间】: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


【解决方案1】:

在与其他软件架构师讨论后,我需要的东西无法实现。 但我可以实现设计模式Observer,它允许为 DDSReader 对象抽象 DDSManager 实例。

感谢您的帮助,我希望这可以帮助其他人。

【讨论】:

    猜你喜欢
    • 2014-02-12
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-18
    • 2023-03-18
    相关资源
    最近更新 更多