MVC - czym dokładnie jest? warto?

Czytałem trochę o architekturze MVC (model-view-controller), proszę o informacje na ten temat. Pamiętam tylko, że obniża to obciążenie i pochodzi się inaczej do programowania. Do jakich projektów warto stosować ten sposób? czy utrudnia to tworzenie? Czy jest to niezależne od technologii wdrożenia?

2 lata, 3 miesiące temu | edytowane przez: michu 3536215

  • W mojej opinii MVC to raczej sposób tworzenia. W MVC wykorzystuje się wiele wzorców takich jak Singleton, Fabryka itp.

    Czy warto? Moim zdaniem jest to najlepsza droga dla kogoś kto zna już programowanie obiektowe. Po pierwsze, wzorce są odpowiedzią na wiele problemów przed którymi staje programista. Po drugie pozwalają na odseparowanie warstw, które z natury rzeczy powinny być nizależna. Prosty przykład. Implementujesz koszyk internetowy. Zwykle jego logika biznesowa jest taka sama. Umieszczasz ją w klasach przypisanych do warstwy modelu. Z drugiej strony, koszyk może wyglądać bardzo różnie. Style wszystkiego nie załatwią, ale z pewnością zrobią to klasy umieszczone w warstwie widoku. Krótko mówiąc masz jedną logikę biznesową i wiele jej prezentacji.

    Korzyści ze stosowania MVC są ogromne: ułatwia przenośność "kompoenentów", skalowanie aplikacji itp.

  • MVC (Model View Controller) to wzorzec projektowy, który dzieli projekt na warstwę widoku (lub prezentacji), warstwę kontrolera (tzw. biznesu) oraz warstwę modelu (danych). Zasada jest taka, że kontroler "nie wie" o widoku, a model "nie wie" o kontrolerze.

    Dzięki takiemu rozwiązaniu teoretycznie można podmieniać poszczególne warstwy bez konieczności wprowadzania większych zmian w pozostałych. Np. zmienić bazę danych jedynie poprzez wymianę modelu.

    Osobiście staram się stosować ten wzorzec, bo poza możliwością podmiany poszczególnych warstw, z czego, nie oszukujmy się, nie korzystam zbyt często, wprowadza on pewien ustalony porządek i pozwala dość klarowanie podzielić pracę między programistów.

  • MVC to wzorzec zatem można go stosować bez względu na technologię jednak w niektórych z racji wspierania go robi się to łatwiej niż w innych.

    Co do projektów, to można w zasadzie stosować do wszystkich projektów, ale przede wszystkim do projektów z warstwą UI, która dzięki temu wzorcowi nie będzie sztywno powiązana z warstwą danych i dzięki temu możliwe będzie łatwe jej modyfikowanie.

  • MCV w praktyce - opisałem w odpowiedzi na inne pytanie, polecam zajrzeć.

Zaloguj się, aby dodać swoją odpowiedź