![]() |
![]() |
![]()
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: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To może i ja się dorzucę nieco do rozjaśnienia tematu. Przyrównaj się do... siebie jako obiektu klasy Human (IMG:style_emoticons/default/winksmiley.jpg) To co tak naprawdę wiesz tyczy tylko Ciebie. Nawet nabliższe Ci osoby maą pewn tajemnice (własności typu private), a reszta to publiczne. Udostępniają Ci ewentualnie pewne kanały łączności (metody publczne), porozumienia, dzięki którym możesz im coś przekazać lub coś się o nich dowiedzieć. W innych językach jest jeszze ciekawiej, ponieważ możesz tworzyć funkcje zaprzyjaźnione, które posiadają dostęp do pewnych danych, normalnie niedostępnych dla ogółu (IMG:style_emoticons/default/smile.gif) Możesz więc co najwyżej kombinować z funkcją modelu, która poda Ci wszystkie dane o innym obiekcie, ale tylko te dostępne publicznie i jeszcze by było weselej, tylko gdy o nie jawnie zapytasz. Obiektowe programowanie ma na celu odwzorowanie otaczającej nas rzeczywistości na język programowania. stąd klasa Human ma swoje dane, może zapytać o czyjeś dane publiczne, ale nie może wyciągać nic innego jeśli nie jest w jakiejś zależności ściślejszej z innym obiektem tej klasy. Dzięki temu nie wiesz co robi sąsiad dopóki sam ci nie powie podczas rozmowy. Możesz najwyżej zrobić klasę Police ( (IMG:style_emoticons/default/biggrin.gif) ), która będzie miała wgląd do pewnych "kartotekowych" danych (choćby logi lub wpisy w bazie) jakiegoś obiektu lub Court ( (IMG:style_emoticons/default/winksmiley.jpg) ), która nałoży ograniczenia na obiekty klasy Human (IMG:style_emoticons/default/tongue.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 04:58 |