![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Piszę grę, zastanawiam się jak rozplanować sobie klasy, czy wrzucić wszystko do worka czy nie, chodzi dokładnie o to, że obecnie mam dwie klasy, jedna służy do zarządzania samymi użytkownikami, tj. logowanie, zmiana hasła, rejestracja etc. druga natomiast obsługuje rzeczy związane stricte z grą, punkty, surowce. Zastanawiam się czy połączyć je jakoś, czy zostawić w takiej postaci. Póki co wiem, za co każda odpowiada i gdzie czego szukać, wydaje się to przemawiać na korzyść tego rozwiązania.
Drugie pytanie: chcę mieć możliwość zwrócenia danych w odpowiednim formacie np. JSON, XML, z początku myślałem o rozwiązaniach rodem z C#, np. klasa.metoda().toString() odpowiednikiem w php byłaby klasa-> metoda()-> toString() czy da się coś takiego zrobić? Drugim rozwiązaniem jest napisanie klasy, która przyjmowałaby dwa argumenty dane i format w jakim mają zostać zwrócone, jednak druga konstrukcja jest o wiele mniej wygodna. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Rozwiązanie z klasą posiadającą metody to*() jest moim zdaniem gorsze od zaprezentowanego przeze mnie (osobne klasy). Dlaczego?
1. Lepiej jest dokładać nowe klasy zwracające dane w nowych formatach niż dokładać metody do istniejącej klasy. 2. Co w przypadku gdy potrzebujesz zwrócić dane w jednym formacie, ale w różny sposób (np. różne kodowanie XMLa)? Lepiej utworzyć nową klasę dziedziczącą po (przykładowo) Renderer_Xml, w której zmieni się jedynie parametr encoding. 3. Każda klasa może mieć dowolne parametry "konfiguracyjne" (jak chociażby wspomniany encoding dla XMLa) właściwe tylko dla swojego typu zwracanych danych. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 11:11 |