![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Pisze wlasnie system ankiet i zastanawiam sie nad zaleznosciami klas.
Mam cos takiego: Kod Page | +-- SectionsList | +-- Section | +-- QuestionsList | +-- Question | +-- AnswersList | +-- Answer To jest drzewko zaleznosci klas - np. SectionsList "zawiera sie" w Page i posiada liste obiektow Section. Zkolei Section posiada QuestionsList, ktora ma liste obiektow Question itd. Teraz zastanawiam sie czy jest sens tworzyc klasy (kolekcje) *List czy moze lepiej zaimplementowac metody obslugi takiej listy na poziomie klasy w ktorej znajdowac sie bedzie obiekt *List. Czyli np w Page dodac metody takie jak GetNextSection itp. zamist robic $Page->SectionsList->GetNext(); ? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 15.06.2004 Skąd: Warszawa Ostrzeżenie: (10%) ![]() ![]() |
Cytat(Seth @ 2004-07-26 22:26:47) Teraz zastanawiam sie czy jest sens tworzyc klasy (kolekcje) *List czy moze lepiej zaimplementowac metody obslugi takiej listy na poziomie klasy w ktorej znajdowac sie bedzie obiekt *List. Czyli np w Page dodac metody takie jak GetNextSection itp. zamist robic $Page->SectionsList->GetNext(); ? Jedną z zasad OOP jest wzajemna niezależność klas/obiektów. Każdy obiekt operuje jedynie na własnych danych. Może to podpowie Ci rozwiązanie? -------------------- Sygnaturka: jest
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
W sumie racja. Tworzac ta strukturetrocheniespodobala mi sie ilosc klas stad mialem watpliwosci.
Dzieki. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Może trochę OT, ale...
1) Czy potrzebne ci są te klasy kolekcji? W Javie dałbym zwykły ArrayList lub cokolwiek co jest odpowiednim kontenerem. Tzn. czy potrzebne ci jest np. SectionList jako osobna klasa? Gdyby dostarczała jakąś funkcjonalność większą niż typowa kolekcja, to tak. Ale jak nie? 2) Jak już OOP, PHP5 i iteratory (bo taki SectionList z metodą GetNext() jest iteratorem pełną gębą), to może zrobić te nowe iteratory wprowadzone w PHP5? Wtedy zamiast $Page->SectionsList->GetNext() byłoby foreach ($Page->$Sections as $Section) ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Ad 1. Racja i tak tez zrobie.
Ad 2. Bedzie to pod php 4 dlatego iteratory odpadaja. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 01:34 |