感觉就像之前被问过的问题,但我不确定如何在谷歌搜索中正确地说出来。假设我有一个MainWindow对象,在该对象中我定义了几个对象PanelA,PanelB,PanelC和PanelD。什么是将这些对象彼此连接而不具有看起来像这样的构造函数的好方法
PanelA(PanelB* b, PanelC* c, PanelD* d)
您是否建议将它们全部传递到主类中,如此
PanelA(MainWindow* mw)
{
b=mw->b; c=mw->c; d=mw->d;
}
或者有更好的方法来构建我的课程。一般来说这个问题是什么,所以我可以自己谷歌这个东西。
答案 0 :(得分:1)
一般来说这个问题是什么,所以我可以自己谷歌这个东西。
设计缺陷被称为强耦合类型和硬编码关系的使用。
重构此类代码的一般方法是引入 interfaces 和设计模式,以通过功能解决实际的依赖关系。