Architektura kodu C++/Qt

0

Cześć,

Mam problem związany z architekturą kodu. Realizuję projekt w C++ z wykorzystaniem Qt i część GUI jaką chce zrefaktorować ma strukturę opisaną w załączniku.
Klasa ContainerClass zawiera formularz QtDesignera -> GraphicClass, która zawiera - składa w widok - klasy Class1, Class2, Class3. Jak wiadomo, jak to formularz QtDesignera, to nie można zmieniać GraphicClass.

Tak do tej pory zostało to zrobione, że klasa Class2 potrzebuje danych z Class1 i chciałem zapytać jak "ładnie" to można zrobić? Ładnie, mam na myśli najlepiej pod względem skalowalności, późniejszych zmian etc.

Ja myślałem nad tym, żeby w klasie ContainerClass utworzyć dwa wskaźniki do Class1 i Class2 i w klasie ContainerClass uwtorzyć metody do obsługi zapytań pomiędzy nimi dwoma lub w ogóle podać wtedy wskaźnik Class1 do klasy Class2 i już sama Class2 by się wtedy odpytywała.

Dzięki z góry za rady ;)
Pozdro!

0

Sygnały i sloty. Pierwsze co mi się nasuwa na myśl. I chyba tez najprostsze.
Połączenia (connect(sender, SIGNAL(), reciever, SLOT());) mógłbyś zrobić z poziomu klasy ContainerClass, skoro ma ona dostęp do podklas 1,2,3;. W odpowiadających podklasach sygnały/sloty, zależnie od tego jaka informacja i gdzie ma być wysłana/odebrana.
Nie wiem czy o to ci chodziło, ale jestem jeszcze noobem;].

0

W tym akurat przypadku nie da się użyć sygnałów/slotów, bo jest już istniejący kod, który potrzebuje zawołania w danym miejscu metod klasy Class1.

0
tańcząca żyrafa napisał(a):

W tym akurat przypadku nie da się użyć sygnałów/slotów, bo jest już istniejący kod, który potrzebuje zawołania w danym miejscu metod klasy Class1.
No to użyj mechanizmu callbacków.

1 użytkowników online, w tym zalogowanych: 0, gości: 1