![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 295 Pomógł: 9 Dołączył: 8.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam mały czysto teoretyczny problem.
Chodzi o wzorzec MVC. Załóżmy, że mamy OBIEKT typu Human Każdy human ma właściwości jak $name, $surname i $age i załóżmy, że OBIEKT typu human ma metodę służącą do pobrania wszystkich zapisanych ludzi zbazy danych getAllHumans() Teraz czy jeżeli bezpośrodnie w tym obiekcie odwołam się do bazy będzie to zgodne z tym wzorcem projektowym? Czy trzeba odwołać się do modelu który połączy się z bazą i to pobierze ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Powtarzam jak bedzie to w modelu to bedzie zgodne.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 136 Pomógł: 22 Dołączył: 19.09.2007 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Powtarzam jak bedzie to w modelu to bedzie zgodne. Czyli możesz napisać wprost, że zgodne nie jest, bo autor w pierwszym poście pytał przecież: Teraz czy jeżeli bezpośrodnie w tym obiekcie odwołam się do bazy będzie to zgodne z tym wzorcem projektowym? Czy trzeba odwołać się do modelu który połączy się z bazą i to pobierze ? Ale wracając do Twojego ostatniego pytania, tak jak nie wprost powiedział kolega: Ze wzorcem MVC zgodne nie będzie. Najpoprawniej i najwydajniej byłoby tworzyć obiekty klasy Human z już istniejących, pobranych przez odpowiedni model danych. Tworzenie obiektu, który dane pobiera sobie indywidualnie przez różnorakie metody (chociaż konstruktor byłby bardzo odpowiedni) ma niewielką rację bytu i nie widzę większego sensu tworzenia takich elementów. Owszem, jako pytanie teoretycznie przykład dobry, ale uczulam na takie zagrania (IMG:style_emoticons/default/smile.gif) . Widzę, że największe problemy masz ze zrozumieniem czym właściwie jest wzorzec MVC i jak go zastosować. Po krótce mogę powiedzieć Ci tylko tyle, że to obiekty będące Modelami powinny wykonywać wszelkie operacje we/wy na danych z zewnętrznych źródeł (tj. baza danych, plik etc) i dopiero same dane przekazywać poszczególnym, wyspecjalizowanym obiektom. Model działa tutaj jako pośrednik i chociaż składnię może mieć niewiele bardziej skomplikowaną od Twojego przykładu i na dobrą sprawę jest zupełnie zbędny (obiektowość też jest przecież zbędna) - ujednolica projekt i sprowadza do stosowania metod modelu zamiast każdorazowego operowania zapytaniami czy plikami. To tyle jeśli chodzi o sam model. Literatury elektronicznej o MVC google podpowie o wiele więcej niż jestem w stanie sobie wyobrazić - dlatego nie będę próbował się z Google siłować (IMG:style_emoticons/default/winksmiley.jpg) . Podsumowując: nawet jeśli przykład...
... nie jest poprawny, to ten już jest:
Nie skupiam się w tym momencie nad sensownością, ale zachowaniem funkcjonalności przy jednoczesnej zgodności z MVC. Ten post edytował Nattfarinn 2.11.2009, 15:55:39 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 06:03 |