我的项目中有三个课程。让我们称它们为 MainWindow 、 ProcessUserInput 、 InitialUIPreparer 。
MainWindow 的工作只是通过按钮、文本、组合框等与用户对话。,
ProcessUserInput 将使用取自 MainWindow 和 calc 之后的值进行一些计算。完成它会将一些处理后的数据发送回MainWindow,
并且 InitialUIPreparer 将计算应该在 MainWindow 上绘制的某些形状的位置,它只会传递坐标而不是绘制它们。但它还需要获取一些数据,如窗口大小等。
好的问题开始于 MainWindow 需要从每个类获取数据,而类需要从 MainWindow 获取数据。这导致循环依赖。我通过将 MainWindow.h 包含到 "ProcessUserInput" 和 "InitialUIPreparer" 来解决问题。但只是在 MainWindow 中使用前向 decleration,如“class ProcessUserInput”和“class InitialUIPreparer”。
当然,我仍然可以继续开发。但是就像我的情况需要多次前向减速,表明设计是否糟糕,我应该重新考虑未来项目的设计吗?