Tworzenie stron i aplikacji internetowych z użyciem wzorca MVC
Tworzenie stron WWW
0

Tworzenie stron i aplikacji internetowych z użyciem wzorca MVC

Każdy programista php na ścieżce swojej kariery spotyka się z popularnym wzorcem architektonicznym MVC. Najczęściej spotkanie to ma miejsce na początku przygody z programowaniem obiektowym. Warto więc wspomnieć, co określamy mianem wzorca architektonicznego.

Wzorce architektoniczne opisują strukturę systemu informatycznego, elementy, ich relacje oraz zakres funkcjonalności. Wzorce architektoniczne są często mylone z wzorcami projektowymi, jednak dotyczą całości projektu, a nie komunikacji pomiędzy klasami i obiektami. Tym samym myśląc o wzorcu architektonicznym powinniśmy rozważać go jako koncepcję rządzącą w całym systemie, a nie opisującą sposób rozwiązania elementarnych problemów. Jednym z najbardziej znanych wzorców jest popularny w Internecie wzorzec (MVC). Tworzenie stron www ułatwiają gotowe zestawy klas i funkcji, zwane “framework“. Najbardziej popularne frameworki dla języka PHP opierają się właśnie o MVC. Nazwa wzorca to skrót od angielskich słów Model View Controller, oznaczające poszczególne, jednakże współpracujące ze sobą elementy.

model MVC

Model najczęściej dotyczy logiki i przetwarzania danych. Tworzenie stron internetowych uczyniło relacyjno-obiektowe bazy danych SQL miejscem, gdzie najczęściej przechowywane są dane na potrzeby serwisów. Tym samym Model to zestaw klas opisujących te dane, a dokładnie relacje miedzy poszczególnymi polami i tabelami w bazie SQL. W większości odmian MVC model nie dba o spójność i poprawność danych, jest odpowiedzialny za pozyskiwanie i wysyłanie informacji do magazynu. Do zestawu klas modelu zazwyczaj dodawana jest klasa opisująca sposób połączenia z bazą danych, która korzysta z zalet wzorca projektowego Singleton.

View, czyli widok, to element wzorca odpowiedzialny za wyświetlanie, zazwyczaj jest to liniowy kod php zagnieżdżony w dokumencie w języku html, zwany szablonem. Często używa się w widoku systemu szablonów, np Smarty, bądź nie ogranicza się go tylko do kodu html. Podobnie jak model, widok nie dba o spójność danych. Najczęściej jest ostatnim elementem wykonywanym przez system, a jego wynik trafia bezpośrednio do przeglądarki internauty. Dane dla widoku serwowane są pośrednio z bazy danych przez model i kontroler. Istnieją różne odmiany MVC różniące się właśnie sposobem tej komunikacji. Warto wspomnieć, że jeden widok, np. strona z listą towarów znajdujących się w koszyku występuje w kilku wersjach. Jest to szczególnie użyteczna możliwość w momencie, w którym nasza strona ma być wyświetlana na urządzeniach o odmiennych specyfikacjach np. tablet, drukarka czy standardowy PC.

Controller, czyli kontroler, to serce wzorca, zestaw obiektów, a często także klas odpowiedzialnych przede wszystkim za komunikacje użytkownik-system. Jak sama nazwa wskazuje, kontroler odpowiada za tworzenie obiektów z klas modelu w zależności od wyboru użytkownika. W kontrolerze często programiści umieszczają kod odpowiedzialny za sprawdzanie spójności danych, a także wdrażają algorytmy sprawdzania danych wejściowych pod kątem zagrożeń, bowiem tworzenie stron www to multidziedzina, a w ostatnich latach przykłada się wielka wagę do elementów odpowiedzialnych za bezpieczeństwo. Kontroler realizuje także obsługę wyjątków oraz ładuje odpowiednie pliki szablonów w zależności od sytuacji.

Istnieje wiele zalet wzorca MVC, a jedną z nich jest niewątpliwie sumiennie realizowany paradygmat obiektowy. Dba o hermetyzację poszczególnych klas, co ułatwia pracę w zespole ludzi o różnych specjalizacjach i poziomie zaawansowania. Wzorzec MVC występuje w znakomitej większości dużych projektów, np. znanym i cenionym na całym świecie Zend framework czy tworzonych przez duże społeczności i fundacje cakePHP czy Symfony. Tworzenie aplikacji webowych to dziedzina, poza którą wzorzec MVC znacznie wykracza. Klasyczne aplikacje dostarczane jako binarny kod do użytkowników także wykorzystują odpowiednio zaimplementowany MVC.

Model widok kontroler to nie jedyny wzorzec, który wykorzystuje prawie każda bardziej zaawansowana aplikacja internetowa. Istnieją inne schematy architektoniczne, często współpracujące ze sobą w obrębie jednego systemu, np. SOA czyli architektura usług czy popularne P2P.

Podobne posty
Tworzenie strony www – zlecić firmie czy skorzystać z darmowego kreatora?
tworzenie-firmowej-strony-www
Tworzenie firmowej strony www – od czego zacząć
Aktualizacja sklepu internetowego dla firmy BEKPOLMASZ
Aktualizacja sklepu internetowego dla firmy BEKPOLMASZ

Zostaw komentarz

Twój Komentarz*

Twoje Imię*
Twoja strona

Call Now Button
Przeczytaj poprzedni wpis:
Tworzenie i projektowanie stron internetowych Piekoszów

Niepowtarzalna oferta promocyjna dla mieszkańców Piekoszowa! Mieszkasz w Piekoszowie? Jeśli potrzebujesz profesjonalnie zaprojektowanej i wykonanej strony WWW, sklepu internetowego, bądź...

Zamknij