![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 8.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak sobie od kilku dni czytam ksiazeczke na temat programowania obiektowego i chce zrozumiec wzorzec MVC. Sklecilem taki kod i chce zebyscie go zweryfikowali czy moje rozumowanie idzie w dobra strone.
Bez obslugi bledow, bez pojedynczych instancji, prosty kod zeby sie przekonac czy dobrze rozumuje itd. Narazie sie bawie... Zerknijcie okiem i napiszcie cos od siebie. Dzieki z gory za wszelkie uwagi!
Ten post edytował Helios 13.08.2007, 17:54:47 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Front controller powinien tylko wywolac akcje kontrolera, a nie decydowac o tym czy kontroler doda rekord czy nie, dopiero w akcji okreslasz co masz zrobic dalej. Kontroler nie powinien byc sprzezony z modelem ani z widokiem, powinienes w kontrolerze stworzyc sobie nowy obiekt Product i na nim operowac, a nie dziedziczyc z tej klasy. W skrocie ja to widzialbym tak:
Ten post edytował NoiseMc 10.08.2007, 14:48:45 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 8.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Chce zrobic sobie jakos ladnie lancuchy akcji i wymyslilem takie oto rozwiazanie.
Stworze klase abstrakcyjna AppQuery, ktora bedzie podstawa dla klas z niej korzystajacych. Na jej podstawie utworze dwie klasy: AppAction i AppView. Chce, aby kazda wywolana akcja zwracala do kontrolera obiekt klasy AppAction lub AppView ustawiajac w skladowych nazwe akcji do odpalenia i ewentualne argumentu a w AppView nazwe szablonu do zaladowania. Kontroler chce utworzyc w ten sposob, aby dostawal z zewnatrz np. z klasy Router dane, wybieral akcje i wykonywal je dalej o ile zwracane obiekty sa instancja klasy AppAction, jezeli akcja zwroci AppView to wywolam odpowiedni widok. Co myslicie o takim rozwiazaniu? Wydaje mi sie calkiem okej, tylko aktualnie mam problem jak powiazac komunikacje miedzy widokiem a akcjami, gdyz akcje zwracaja mi obiekty AppQuery a chcialbym np. zwrocic rowniez liste wynikow danego zapytania. Macie jakies pomysly? Moze wykorzystac zwracany obiekt AppAction? Wyglada to mniej wiecej tak: Router->Front Controller->RunAction(action) tu obsluga lanuchow akcji az do momentu kiedy jakas akcja zwroci AppView.
Ten post edytował Helios 13.08.2007, 18:08:37 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 10:16 |