|
Se pare ca in game programming nu prea poti sa exagerezi cu OOP ca te lovesti de performanta. Sunt curios cum arata codul sursa al unui joc popular, ce compromisuri se fac, ce decizii de design si asa mai departe (jocurile Java pentru mobil am auzit ca au o singura mare clasa in care se tranteste tot). Chiar acuma descarc sursele Q3, poate am timp sa ma uit peste ele.
De exemplu singletonii nu sunt neaparat ceva prost. Varianta functii in header si variabile statice in .cpp seamana cu Monostate (clasa cu functii si variabile statice): mai simpla si mai performanta dar si mai putin flexibila. Decizii, decizii...
Despre articolul respectiv (care pare copiat de pe CP unde a luat nota 3 si ceva din 5): deriveaza din template ca sa forteze singletonul. Daca ar face direct Singleton<CLogging> s-ar putea instantia CLogging separat. Nu e nevoie de friend daca face constructorul template-ului protected si avantajul e ca nu mai trebuie sa rescrie toate functiile GetInstance, etc.
|