【问题标题】:Design of class relationships类关系设计
【发布时间】:2013-06-27 02:44:28
【问题描述】:

我有一个项目,用户可以在其中构建不同的对象。这个应用程序有几个子窗口,其中一些可以修改一个全局对象。修改此类对象的三种方法:

  1. 从数据库对象加载。 (window1)
  2. 在窗体的帮助下修改它(按钮,lineedit...)(window2)
  3. 在显示此对象的图形窗口的帮助下修改它(例如使用鼠标)。(window3)

接下来的逻辑是:如果我从数据库中加载了新对象,那么它应该更新 window2 和 window3 中的对象。如果我通过 window2 更改了对象,则应该更新 window3 中的对象,并且应该通知 window1 对象已更改。如果我通过 window3 更改了对象,则应更新 window2 中的对象,并通知 window1 对象已更改。

接下来是逻辑:对象存储在具有全局访问权限的类中(单例)。窗口通知是通过 qt 中的信号槽机制完成的。

还有其他的设计方法吗?

【问题讨论】:

    标签: c++ qt class relationship


    【解决方案1】:

    已经足够了。但是单例并不是那么好的模式。另一种方法是使其中一个窗口成为共享对象的创建者和所有者,并将指向该对象的指针指向其他窗口。之后,您可以像往常一样初始化信号槽连接。

    【讨论】:

      猜你喜欢
      • 2012-04-02
      • 2014-05-26
      • 1970-01-01
      • 2015-06-18
      • 1970-01-01
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      • 2013-11-18
      相关资源
      最近更新 更多