Programista: PHP5, MySQL, PostgreSQL, JavaScript, xhtml/css
JID: hwao@chrome.pl
Model View Controller MCV jest sprawdzonym wzorcem na oddzielenie interfejsu użytkownika od warstwy logicznej aplikacji. Pierwotnym celem MVC jest odizolowanie Interfejsu użytkownika i umożliwienie operowania na oddzielonej od widoku warstwie logicznej aplikacji.
Powód który zadecydował iż w MVC mamy podział na interfejs użytkownika(widok) i warstwę logiczna jest bardzo instynktowny, każdy z tych komponentów ma inne zadania i powinien móc być wymienialny bez ingerencji w drugi. Właśnie dzięki takiemu podziałowi możemy dowolnie zmieniać interfejs użytkownika, bez potrzeby ingerencji w warstwę logiczną aplikacji i vice versa.
MVC czasem błędnie jest mylone z innymi wzorcami, które mają na celu odseparowanie interfejsu użytkownika od warstwy logicznej, takim jak na przykład "Presentation Abstraction Control".MVC składa się z trzech części:
Powodami dla jakich wyodrębniamy te trzy warstwy, są zależności między nimi i oddzielne cele. Kontroler analizuje żądanie, model zajmuje się przetwarzaniem danych, widok zaś zajmuje się przedstawieniem ich użytkownikowi.
Rzeczywiście wyjątkowo nudny artykuł. Przecież model MVC to dobry materiał na ciekawą treść, jakiś antytalent to pisał. To jak z nauczycielami - w Polsce wystarczy mieć wiedzę z danej dziedziny i można już pracować w szkole. A ponad połowa nauczycieli się do tego nie nadaje.
Model-Widok-Kontroler jest frameworkiem określa pewien sposób pisania aplikacji[39] polegający na podziale aplikacji na trzy warstwy:
1. Model – odpowiada za sposób przechowywania danych, w niektórych publikacjach można się spotkać ze stwierdzeniem, że model to źródło danych. Modelem może być baza danych, pliki tekstowe lub pliki XML, a nawet zasoby położone na innym serwerze. Najistotniejsze jest, to aby model w MVC ukrywał przed aplikacją na czym pracuje udostępniając jej jedynie interfejs do zarządzania danymi.
2. Widok – odpowiada za to co widzi użytkownik, inaczej mówiąc zajmuje się prezentacją danych na ekranie w formie zrozumiałej dla użytkownika. W aplikacjach webowych jest to najczęściej dynamicznie generowany (X)HTML.
3. Kontroler – odpowiada za schemat wymiany danych pomiędzy Widokiem a modelem. Można by rzec, że kontroler w MVC odpowiada za interakcję użytkownika z modelem danych. W rzeczywistości kontroler przyjmuje dane żądania, pobiera dane od modelu i przekazuje je widokowi. Może również pobrać dane z widoku i przekazać je do modelu. Kontroler jest jedynym miejscem w którym powinien nastąpić kontakt widoku z modelem.
Sam Framework MVC nie jest stosowany tylko przy aplikacjach webowych, ale także w przypadku aplikacji desktopowych w znacznym stopniu ułatwia tworzenie aplikacji i zapewnia jej skalowalność w przyszłości dzięki czemu programista może być pewien, że nie będzie musiał w momencie wprowadzania nowych funkcjonalności lub opcji w aplikacji modyfikować całości jej kodu a jedynie wymaganą jej część.
Przy tworzeniu autorskiego systemu CMS starano się zachować wszelkie założenia zgodne z MVC dzięki czemu aplikacja jest skalowalna i prosta w rozbudowie. Całości dopełnia zaimplementowany system rozszerzeń co w niektórych przypadkach może ułatwić rozszerzenie możliwości aplikacji o dodatkowe funkcjonalności bez konieczności modyfikacji kodu programu.
Tak zgodzę się. Tekst pisany/tłumaczony bardzo dawno temu, nie ukrywam że na swoje potrzeby - potem zaadaptowany żeby wrzucić dla innych.
Artykuł można by było bardzo rozbudować. Dlatego uważam iż najlepszym miejsce dla niego jest "wiki" i pomoc masy ludzi, bez której się nie obędzie - uzupełnienie brakujących wiadomości.
Bardzo kiepsko napisany, suchy i nudny artykul. Bardzo slabe przyklady, masa linkow zamiast konkretow. W jednych miejscach truizmy, w drugich zupelnie niedopowiedziane wazne kwestie. Szkoda, poniewaz o MVC mozna by napisac duzo i ciekawie - jednak nie w ten sposob.