![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 0 Dołączył: 5.10.2003 Skąd: Londyn / UK Ostrzeżenie: (0%) ![]() ![]() |
Buduje aplikacje oparta o MVC i w zwiazku z tym faktem doszedlem do pewnego rozwiazania. Teraz mam pytanie na ile jest ono trafne.
Jak wszyscy wiemy model ma za zadanie tylko operacje na danych. Czy dobrym rozwiazaniem jest zbudowanie modelu ktory odwoluje sie do "pod-modelow" (modulow) w nastepujacy sposob:
Ladowanie modulu (metoda w klasie Model):
Kazdy sub-modul jest "dzieckiem" (extends) klasy Model. Co sadzicie o takim rozwiazaniu |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 790 Pomógł: 7 Dołączył: 6.02.2003 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
Jest ono calkiem pozyteczne, bo ladujesz klasy np tylko w kernelu, aczkolwiek pociaga za soba pewne konsekwencje. Moim zdaniem ta zmienna powinna byc "prywatna" (jezeli php5) i dostep do niej powinien byc ograniczony przez zdefiniowane metody.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 0 Dołączył: 5.10.2003 Skąd: Londyn / UK Ostrzeżenie: (0%) ![]() ![]() |
@seaquest: Dokladnie tak jak powiedziales jest to juz rozwiazane. IMO przy takim rozwiazaniu aplkacja zyskuje nie tylko na przejrzystosci, ale przedewszyskim na wydajnosci.
Rozwiazanie jakie zaproponowalem jest moim zdaniem przydatne przy rozbudowanych aplikacjach i daje ciekawe mozliwosci rozbudowy. |
|
|
![]()
Post
#4
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Uwaga czytanie ponizszego posta jest na wlasne ryzyko oglupienie spowodowane jego zawartosci merytoryczna(doslowna jak i ukryta) nie ponosze odpowiedzialnosc ;-) czytasz to na wlasna reke (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
A wiec... umnie ladowanie wyglada tak
Ale to moduly core... co do modolow typu menu news itp. bedzie do tego dodatkowa klasa ktora bedzie je odpowiednio ladowac tzn. Wpierw sa pobierane dane z bazy danych nastepnie sa interpretowane, poczym zostaja zalaczone i tam odpowiednia czesc kodu nimi steruje, wysylaja dane i takowe o ile sa sa wysylane posrednio do widoku ktory je interpretuje... Co do dziedziczenia w modelu nie wiem czy to napewno trafne. Osobiscie wolal bym obiekt wrzucic do protected i tam na nim operowac (w zaleznosc od tego co che uzywskac laduje sie odpowiednia klasa). Ogulnie to malo co zrozumialem z pytania wiac odpowiedz tez moze byc malo zrozumiala i nie trafna |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 0 Dołączył: 5.10.2003 Skąd: Londyn / UK Ostrzeżenie: (0%) ![]() ![]() |
Jedynym niedopatrzeniem z mojej strony mogl byc byc fakt iz nie pokusilem sie o sprawdzanie czy dana klasa oraz plik istnieja, ale to w rozwazaniu na temat metody sprawa kosmetyczna.
Dodatkowo w twoim rozwiazaniu nie ma mozliwosci zaladowania modulu pod inna nazwa. Tzn. nie mozesz zaladowac modulu "Foo" i odwolywac sie do niego poprzez np. $this->model[bar]->costam() Co do dziedziczenia w modelu jest to jak najbardziej wskazane przy takowym rozwiazaniu wiec w tym aspekcie nie moge sie z toba zgodzic. Anyone else? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 22.11.2004 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
mi obecne dzialanie kodu odpowiada (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
|
|
|
![]()
Post
#7
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
sorry za OT: ale czemu macie takie same avatary ? trudno was rozronic (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 0 Dołączył: 5.10.2003 Skąd: Londyn / UK Ostrzeżenie: (0%) ![]() ![]() |
Dlatego ze nalezymy do tej samej agencji (nie towarzyskiej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) )
Reszte tego typu pytan wysylaj raczej na PW. Odpowiedzialem tutaj zeby juz nikt nie spamowal na ten temat. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 10:04 |