![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mimo iż jestem w połowie pisania w/w modułu to przyłapałem się na tworzeniu kontrolero-widoku więc postanowiłem to trochę rozrysować. Zwracam się do was z pytanie czy jest to dobrze rozplanowane oraz czy zależności między klasami są poprawne. Przyjąłem że rozrysuję zachowanie klasy dla wyświetlania listy wpisów bloga (IMG:http://img296.imageshack.us/img296/4784/schematrz2.jpg) Klasa Blog pełni funkcję kontrolera głównego. Rozpoznaje akcje i wykonuje odpowiednie czynności. Po rozpoznaniu akcji wysyłane jest żądanie do SubKontrolera w klasie BlogEntries który to pobiera dane za pomocą metody x, pakuje je w obiekt klasy BlogEntry po czym używając SubKontrolera klasy BlogCategories pobiera kategorie, które są już zwracane jako tablica obiektów BlogCategory na koniec łączy wszystko z szablonem przy użyciu metody y i zwraca klasie Blog gotową listę wpisów. 1) Wiem że rysunek jest kiepski i wiem że nie ma on nic wspólnego z UML'em 2) Trochę to zagmatwane, jednak wydaje mi się że patrząc na rysunek można tok mojego rozumowania pojąć. Proszę o opinie i konstruktywną krytykę. Pozdrawiam. edit> Myślałem jeszcze nad wywoływanie pobierania kategorii przez widok bo w końcu nie jest powiedziane że zawsze widok będzie wyświetlał listę kategorii, ale mam wrażenie że jest to kolejny przypadek robienia kontrolero-widoku o którym wspomniałem na początku. edit> Dodałem tag do tytułu edit> Poprawiłem trochę treść bo się lekko zamotałem pisząc opis czynności Ten post edytował orglee 8.04.2008, 14:10:37 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 384 Pomógł: 6 Dołączył: 11.09.2004 Skąd: Grodzisk Mazowiecki Ostrzeżenie: (0%) ![]() ![]() |
Jak bardzo dziwnie zamotałeś to wszystko. W aplikacji powinieneś mieć jakiś główny kontroler (FrontController). On korzystając z różnych innych ciekawych rzeczy wie że chcesz odpalić Akcję Entries modułu Blog. Akcja entries ma jakieś widok (może mieć ich kilka). I teraz: w widoku odbywa logika odpowiedzalna za prezentacje danych np.: pobranie wpisów etc. W akcji natomiast dzieją sie takie rzeczy jak zapisywanie wpisó etc.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 13:52 |