Dynamiczna alokacja, obiekty w obiekcie

0

Dzień dobry i witam na forum

Do końca czerwca muszę ukończyć projekt na zaliczenie C++. Moim zadaniem jest swego rodzaju symulator gry. Sama aplikacja ma już dobre kilkanaście do kilkudzięsieciu klas, ale nie o tym tutaj mowa. Chodzi o to, iż w całym projekcie staram się raczej unikać zmiennych globalnych, a w samej aplikacji jest pewna zmienna (nazwijmy ją Window, ponieważ odpowiada za okno gry), którą potrzebuję wykorzystywać w praktycznie każdej klasie odpowiadającej za część wizualną, toteż przekazuję jej adres przez parametr w konstruktorach.

Koniec wprowadzenia i przechodzę do sedna. Ze względu na to, że sam adres muszę przyjmować a następnie przekazywać go dalej do obiektów innych klas tworzonych w jakiejś klasie (np. obiektów Tekst w obiekcie Zawartość) każdy obiekt jest alokowany dynamicznie poprzez new. (składowe klasy Zawartość zawierają tylko wskaźniki do tych dynamicznie alokowanych obiektów, np. Tekst* JakisTekst = new ClassText(Window,...))

Stąd moje pytanie, czy takie alokowanie obiektów to dobra praktyka? (oczywiście zwalniam pamięc po nich)
Czy nie powinienem zmiennej Window przekształcić na globalną, a same obiekty tworzyć wtedy w obiektach jako zwykłe zmienne a nie poprzez new? Aby jak najmniej wykorzystywać dynamiczną alokację?
Czy takie działanie wpływa negatywnie / pozytywnie na działanie aplikacji czy raczej nie ma to żadnej różnicy i może zostać tak jak jest?

Pozdrawiam

1
  1. Nigdy nie potrzebujesz zmiennej globalnej, kropka.
  2. MVC
  3. Staraj sie nie uzywac new.
0

Nie znam jeszcze wzorca MVC i nie sądzę, aby wdrożenie go już na tak odległym etapie było proste. Dodatkowo nie do końca rozumiem, jak miałoby to rozwiązać mój problem. :(

0

@KadrO Podpowiem Ci. Ja np w jednym z systemów mogę w klasie wizualnej robić wszystko w każdym elemencie, w kazdej metodzie, ale rysować wolno mi tylko w jednej metodzie i ona musi być wywołana do rysowania przez system! To może naprowadzi Cię na tok myślenia takiego, aby właściwie przeorganizować całość....

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