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 |
|
|
|
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 ![]() ![]() |
|
Aktualny czas: 17.11.2025 - 20:36 |