Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Gra internetowa - hierarchia klas
KOMPsognat
post 3.02.2007, 13:20:54
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 23.10.2006

Ostrzeżenie: (0%)
-----


Witam!
Wiem, że jest już jeden temat o tym samym zagadnieniu, lecz dyskusja tam jest według mnie bez sensu.

Do rzeczy: piszę aktualnie dość zaawansowaną grę i chciałbym, żeby była jak najbardziej elastyczna. W grze jest kilka ras (każda ma inne ceny budynków, produkcję itp... ) oraz niektóre parametry są zależne od pory roku (jak na przykład produkcja). Wydaje się, że wystarczy zastosować dekorator, lecz sprawa jest trochę bardziej skomplikowana. Różne pory roku w mniejszym lub większym stopniu modyfikują parametry u różnych ras. Na chwilę obecną było mnóstwo różnych klas w stylu WinterCarthageBakery, SpringCarthageBakery... więc w finalnej wersji wyszłoby mi ponad 600 klas co jest niedopuszczalne i nieelastyczne. Kolejnym pomysłem było coś takiego:

Każda klasa budynku dla danej rasy dziedziczyłaby po jakiejś klasie abstrakcyjnej w której zaimplementowany byłby mechanizm wyboru odpowiedniej zmiennej z danymi (tzn. czy zimową czy może letnią tablicę z kosztami).

W ten sposób ograniczyłbym liczbę klas do ok. 150, lecz rozwiązanie znowu nie jest zbyt elastyczne.

Może macie jakiś propozycje, jak zbudować elastyczniejszy system? Może trzymać ceny w bazie danych i cache'ować tylko te dla danej pory roku? Czekam na wszystkie opinie na ten temat.

Ten post edytował KOMPsognat 10.02.2007, 19:34:20
Go to the top of the page
+Quote Post

Posty w temacie
- KOMPsognat   Gra internetowa - hierarchia klas   3.02.2007, 13:20:54
- - NuLL   Cytatwyszłoby mi ponad 600 klas co jest niedopuszc...   3.02.2007, 15:03:03
- - KOMPsognat   Ech... złe słowo Ale nieelastyczne jak ...   3.02.2007, 15:23:48
- - dr_bonzo   Kilka przemyslen, moze cie gdzies doprowadza. [prz...   3.02.2007, 17:29:47
- - KOMPsognat   Ad.1. Czemu odpada? Mam powiedzmy porę roku pobran...   3.02.2007, 18:17:48
- - dr_bonzo   1-6. Sorry -- myslalem za bardzo OOP i o aplikacj...   3.02.2007, 19:45:05
- - KOMPsognat   Tak też od początku myślałem, ...   3.02.2007, 20:22:46
- - dr_bonzo   Dekorator to nie bedzie, bo w dekoratorze wszystki...   4.02.2007, 12:47:20
- - KOMPsognat   Ad.1. Równie dobrze można to nazwać Wint...   4.02.2007, 14:08:55
- - Secator   Swoją drogą w nie lepiej stosować czegoś w stylu: ...   6.02.2007, 02:16:45
- - KOMPsognat   Napisałem, że modyfikatory są zróżnicowane. Nie ma...   6.02.2007, 19:19:11
- - KG-   No i to jest wg mnie najlepsze rozwiązanie, bawien...   8.02.2007, 21:22:31
- - Secator   CytatNapisałem, że modyfikatory są zróżnicowane. N...   8.02.2007, 23:05:40
- - KOMPsognat   Hehe... akurat w tym przecież nie ma nic trud...   9.02.2007, 08:17:41
- - bacca   Miałem kiedyś taki problem. Jeśli mogę jakoś pomóc...   9.02.2007, 23:57:39
- - KOMPsognat   Chyba zostanę przy swoim pomyśle, gdyż nie będzie ...   10.02.2007, 08:00:00
- - bacca   Przeczytaj jeszcze raz punkt 3. i 4. Naprawde da s...   11.02.2007, 11:09:35
- - KOMPsognat   No to muszę przyznać, że Twój sposób drastycznie r...   11.02.2007, 12:33:17
- - Ace   heh... Nie po to sa bazy danych, zeby zapisywac po...   11.02.2007, 17:28:51
- - KOMPsognat   I łatwo zerżnąć komputer. Jeżeli mam wykonywać ok....   11.02.2007, 19:44:15
- - Ace   Przeczytaj dokladnie to co napisalem. Baza to po...   12.02.2007, 13:22:40
|- - KG-   Cytat(Ace @ 12.02.2007, 13:22:40 ) Pr...   28.02.2007, 14:23:48
- - KOMPsognat   Racja. Nie dopatrzyłem tego cache :] Nie musz...   13.02.2007, 19:26:35
- - dr_bonzo   CytatTeraz musisz połączyć się do 500 serwerów, wy...   28.02.2007, 14:57:51
- - Turgon   Szczerze powiem jak update się robi, to tak c...   28.02.2007, 15:17:26
- - KOMPsognat   No właśnie ten cennik będzie do...   28.02.2007, 20:39:46
- - Ace   Hehe, a powiedz mi jaka jest roznica miedyz wykona...   1.03.2007, 13:37:40
- - KG-   CytatTrzymanie wszystkiego w plikach textowych - u...   2.03.2007, 17:40:55
- - Ace   Czyli robiłeś testy i mówisz, że baza nie wytrzyma...   5.03.2007, 09:46:07
- - KG-   Wytrzyma czy nie wytrzyma to zbyt generalne poj...   7.03.2007, 14:33:19
- - Vogel   MySQL lepiej sobie odpuścić do takich projektów. P...   7.03.2007, 15:52:21
- - mike_mech   ~Vogel przerzuć się na wspomnianego przez siebie M...   7.03.2007, 18:00:18


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 21:46