2017-02-25 33 views
0

感覺像之前曾被問過的問題,但我並不確定如何在Google搜索中正確地將其詞組化。假設我有一個MainWindow對象,並在該對象中定義了多個對象PanelA,PanelB,PanelC和PanelD。那是什麼這個樣子什麼是將對象連接到彼此的乾淨而有效的方式

PanelA(PanelB* b, PanelC* c, PanelD* d)

,而不必構造連接這些對象彼此的好方法,你會建議剛通過他們都在通過主類,像這樣

PanelA(MainWindow* mw) 
{ 
    b=mw->b; c=mw->c; d=mw->d; 
} 

或者有沒有更好的方法來組織我的課程。這個問題通常稱爲什麼,以便我可以自己Google這個東西。

+0

他們需要如何連接?什麼目的?他們只是交換數據,調用彼此的功能,......?所有這些因素都會影響你的設計。 – UnholySheep

+1

如何實現這樣的關係和聯繫比在這個天真的問題中假設的要複雜得多。一個很好的例子是Qt Signal/Slot模型,應該如何設計。 –

+0

您是否在談論所有權模式? – Charles

回答

1

這個問題通常稱爲什麼,以便我可以自己谷歌這些東西。

設計缺陷被稱爲強耦合硬編碼關係的類型和使用。

重構此類代碼的一般方法是引入接口和設計模式以通過功能來解決實際的依賴關係。

相關問題