Program MVC Model-View-Controller - co to jest, funkcje i opis

Program Model-View-Controller (MVC) pozwala projektować, wdrażać i testować każdą część programu, niezależnie od innych, utrzymując kod uporządkowany. Przechowywanie zorganizowanego kodu oznacza, że ​​możesz szybko znaleźć to, co chcesz sprawdzić, szybko naprawić, zmodyfikować i dodać nowe funkcje. Oznacza to także wydajniejszy kod i najlepszy sposób jego ponownego użycia w celu uzyskania szybszych aplikacji. Bez dobrego powodu do korzystania z nowej struktury, technologii lub trendu jest trudne dla wielu programistów, a przede wszystkim dlatego, że nie mogą znaleźć motywacji do odkrywania nowego tematu. Ale nie chodzi tylko o MVC, którego architektura jest bardzo ważna, ale konieczne jest użycie metod MVC w Internecie.


Główne typy funkcji architektury

Prawdopodobnie jedną z największych zalet jest to, że wielu programistów rozumie i wykorzystuje strukturę MVC do tworzenia aplikacji internetowych. Ze względu na tę spójność zarządzanie projektami staje się łatwiejsze pomiędzy kilkoma programistami. Głównie aplikacja internetowa lub część oprogramowania jest zgodna ze strukturą MVC. Jeśli struktura jest reprezentowana przez trzy główne typy funkcji, to jasne jest, że jest to MVC:
  • Kod modelu zwykle reprezentuje rzeczy rzeczywiste. Ten kod może zawierać nieprzetworzone dane lub zidentyfikować główne składniki programu. Na przykład, jeśli użytkownik utworzył aplikację Todo, kod modelu określałby "zadanie" i "listę", ponieważ są to główne składniki tej aplikacji.
  • Widok lub przesłanie - wersja kodu składa się ze wszystkich funkcji, które wchodzą w interakcje bezpośrednio z użytkownikiem. Jest to kod, który sprawia, że ​​aplikacja jest piękna i inaczej definiuje sposób, w jaki użytkownik widzi i współdziała z nią.
  • Kontroler działa jako łącznik między modelem a prezentacją, poprzez wzięcie udziału użytkownika i podjęcie decyzji, co z nim zrobić. Jest mózgiem programu i łączy model z prezentacją. Sterownik uważa poziom środkowy ". Interakcja z użytkownikiem, zbieranie danych, kontaktowanie się z modelem, uzyskiwanie niezbędnych danych, a następnie przesyłanie go w odpowiedzi na użytkownika.
  • Kiedy użytkownik wykonuje akcję, początkowo przechodzi do kontrolera. Przyjmuje dowolne dane, na przykład zmienne $ _GET, $ _POST w PHP i określa, co zrobić z tymi danymi. W skrócie, modele odnoszą się do przetwarzania danych i rozszerzonej funkcjonalności. Dlatego zadaniem kontrolera w tym momencie jest określenie, który model powinien zostać wywołany, a następnie otwarcie odpowiedniej funkcji wewnątrz tego modelu. Po wywołaniu funkcji, znajdzie wynik, zwykle w zmiennej środowiskowej.


    Model jest prostym pomysłem na to, co użytkownik robi w aplikacji. Model MVC musi być przedstawiony w kodzie, takim jak książka użytkownika, jego konto bankowe lub coś innego. Model odpowiada za przechowywanie funkcji i zmiennych związanych z tym, co reprezentuje. Można myśleć o logice modelu jako podstawowej koncepcji programowania obiektowego. Modele tutaj to po prostu "klasy". Nie należy mylić z klasami kontrolerów, któreTechnicznie, są one również zorganizowane jako klasy. W końcu, po tym, jak kontroler prosi o informacje z modelu, przesyła swoje zgłoszenie. Wygląd jest podobny do systemu szablonów programów i może istnieć dla określonego typu układu strony, widoku mobilnego lub dla określonego tematu. Widok wyświetli wszystkie znaczniki i CSS, które są tradycyjnie używane podczas tworzenia statycznej strony internetowej.
    MVC jest tym, co widzi użytkownik, gdy kontroler uzyskuje do niego dostęp. Sterownik po prostu przekierowuje użytkownika do poprawnego wyglądu, po otrzymaniu danych z modelu i przekierował te informacje do zgłoszenia. Następnie zgłoszenie odzwierciedla przekazane im informacje w formacie, w którym jest zorganizowana.

    Struktura organizacji kodu

    Wspaniałą ideą MVC jest to, że każda część kodu ma swój własny cel, a cele te są różne. Niektóre kody zawierają dane programu, niektóre sprawiają, że aplikacja jest przyjemna, a niektóre z nich kontrolują funkcjonalność. Uważa się, że jest to MVC, program, który jest w stanie uporządkować podstawowe funkcje kodu w ich starannie uporządkowanych skrzynkach. Struktura plików do używania MVC jest względnie prosta w standardowy sposób - są po prostu foldery dla reprezentacji, modeli i kontrolerów, a wszystkie z nich są połączone ze sobą za pomocą jednego katalogu. Oczywiście w przypadku dowolnej aplikacji internetowej użytkownik będzie miał również inne foldery i pliki, takie jak plik indeksu i katalog obrazów.
    Poniżej znajduje się prosta struktura katalogów MVC z kilkoma przykładami plików. Każdy programista może mieć własne nazwy, ważne jest, aby zawrzeć w nich rozsądną standardową umowę.Dlatego pliki w poniższej strukturze są tylko przykładami.
    ASP.NET Core MVC Structure to łatwe środowisko do przesyłania. Różne otwarte źródła. Jest wysoce skalowalny, zoptymalizowany do użytku z MVC Asp Net Core.

    Architektura MVC

    Sekcja modelu określa, jakie dane powinny zawierać aplikację. Jeśli stan tych danych ulegnie zmianie, model zazwyczaj zgłasza zgłoszenie, a czasami kontroler, jeśli do kontroli zaktualizowanego widoku wymagana jest inna logika. Na przykład w przypadku programu koszyka na zakupy model wskaże, które dane powinny zawierać elementy na liście - przedmiot, cenę i inne oraz elementy, które już istnieją. Prezentacja określa sposób wyświetlania danych aplikacji. Na liście dodatków widok przesyłania zostanie zdefiniowany jako lista przesłana do użytkownika i otrzyma dane do wyświetlenia z modelu. Kontroler zawiera logikę, która aktualizuje model w odpowiedzi na dane wejściowe użytkownika aplikacji. Na przykład lista zakupów może zawierać formularze wejściowe i przyciski umożliwiające dodawanie lub usuwanie elementów. Działania te wymagają aktualizacji modelu, więc dane wejściowe są wysyłane do kontrolera, który następnie prawidłowo zarządza modelem, wysyła zaktualizowane dane widoku. Można jednak po prostu zaktualizować prezentację, aby wyświetlać dane w innym formacie, na przykład w celu zmiany kolejności elementów w kolejności alfabetycznej lub od najniższej do najwyższej. W takim przypadku kontroler może obsłużyć go bezpośrednio, bez aktualizacji modelu.

    Analogia modelowa we współczesnym świecie

    MVC jest sposobem na zrozumienie, jak to działaSieć jest bardzo przydatna w planowaniu, ponieważ daje użytkownikowi ogólne wyobrażenie o tym, jak jego pomysły powinny być uporządkowane według rzeczywistego kodu. Na przykład w przypadku aplikacji. Ta aplikacja pozwoli użytkownikom tworzyć zadania i organizować je w listy. Model w aplikacji ToDo może określić, czym jest "zadanie", a "lista" to zbiór zadań. Kod widoku określa wygląd ToDo i listy wizualnie. Zadania mogą być dużymi czcionkami lub mieć określony kolor. Wreszcie, kontroler może określić, w jaki sposób użytkownik dodaje zadanie lub notatki, gdy jest on zakończony. Kontroler łączy przycisk "Dodaj" z "Modelem", gdy użytkownik kliknie "Dodaj zadania", model dodaje nowe zadanie.

    Prawie o wzorze

    Funkcje programu MVC można wyświetlić w skrócie, jako przykład książki adresowej. Model jest listą obiektów Person. Zgłoszenie jest graficznym interfejsem użytkownika wyświetlającym listę osób. A kontroler obsługuje takie działania jak "Usuń adres osoby", "Dodaj adres osoby", "E-mail osoby".
    W powyższym przykładzie klasa Person nie wie nic o przesłaniu. Okno widoku informuje kontrolera o działaniach użytkownika. Niepotrzebna złożoność jest nieodłączną częścią tej zasady tworzenia oprogramowania. Złożoność prowadzi do tego, co jest kosztowne w obsłudze. Najprostszym sposobem na uproszczenie kodu jest usunięcie niepotrzebnych zależności. Wtedy kod staje się mniej bezużyteczny i łatwiejszy w utrzymaniu, dzięki czemu można go ponownie wykorzystać bez zmian.

    Główne zależności elementów

    Mianowanie kontrolera - usunięcie zależności od typu modelu. Na przykład kierownik projektu wymaga, aby programista utworzył nie tylko okno kontaktu, ale wyświetlał wszystkie kontakty tylko na swoich zdjęciach. Zdjęcia powinny znajdować się w układzie stołu, po pięć sztuk w linii. W przypadku MVC zadanie to jest dość proste. Obecnie istnieją trzy klasy:
  • Osoba.
  • PersonListController.
  • PersonListView.
  • Konieczne jest utworzenie dwóch klas: PersonPhotoGridView i PersonPhotoGridController. Klasa osoby pozostaje taka sama i można ją łatwo umieścić w dwóch różnych punktach widzenia. Programista musi zmodyfikować klasę Person w celu umieszczenia nowego PersonPhotoGridView i ostatecznie komplikuje model (przykład 3).
    Klasa MVC Person może być reprezentowana przez różne narzędzia GUI bez żadnych zmian. Po prostu stwórz kontroler i prezentację za pomocą nowych narzędzi, tak jak w przypadku starego zestawu narzędzi. Kod może wyglądać tak.
    W setPicture, ten moment metody jest w zasadzie kodem spaghetti. Szablon projektu MVC wstawia klasę kontrolera między reprezentacjami i modelem, aby usunąć zależności modelu. Podczas usuwania zależności model i ewentualnie wygląd można ponownie wykorzystać bez zmian. To sprawia, że ​​wprowadzenie nowych funkcji i konserwacji jest łatwe. Użytkownicy szybko otrzymują stabilne oprogramowanie, firma oszczędza pieniądze, a programiści pracują w normalnych warunkach.

    Zasada działania

    Zasada MVC polega na podzieleniu wniosku na 3Główne części znane jako Model, Widok (widok) i Kontroler. Widoczne na schemacie są bezpośrednie skojarzenia (czerwone strzałki) i wycofane asocjacje (niebieskie strzałki). Usunięte skojarzenia to te, które mogą wydawać się oczywiste z punktu widzenia użytkownika, a nie na podstawie rzeczywistego projektu oprogramowania. Łatwy sposób na spełnienie warunku:
  • Użytkownik wchodzi w interakcję ze zgłoszeniem - klikając łącze lub wysyłając formularz.
  • Sterownik przetwarza dane wejściowe użytkownika i przesyła informacje do modelu.
  • Model otrzymuje informacje i aktualizuje swój status, dodaje dane do bazy danych, na przykład oblicza dzisiejszą datę.
  • Przeglądarka sprawdza stan Modelu i odpowiednio reaguje, wyświetlając ostatnio wprowadzone dane.
  • Widok szuka następnej interakcji użytkownika.
  • Jest to prosta koncepcja - Logika biznesowa - obliczanie logicznych procesów aplikacji. Na przykład logika biznesowa prostego kalendarza będzie musiała obliczyć, która data, dzień tygodnia i dowolny dzień miesiąca, jeśli chcesz przesłać wszystkie dni tego miesiąca. Lub, aby uruchomić zawartość internetową za pomocą Spring MVC, która pozwala na zbudowanie aplikacji ze statyczną stroną główną, akceptuje żądania HTTP GET.

    Przestrzeganie zasady DRY

    Wiele platform MVC stosuje system szablonów w celu zapewnienia zgodności z zasadą DRY, co sprawia, że ​​bardzo wygodne jest ponowne użycie kodu bez konieczności jego przepisywania. Istnieją struktury MVC, które działają na Smarty lub używają własnych mechanizmów szablonów. Prostym ostrzeżeniem jest to, że niektóre pakiety szablonówmają dość złożoną składnię - programista musi je sprawdzić przed rozpoczęciem tworzenia. Uważa się, że MVC to kolejna bardzo dobra realizacja filozofii DRY (Do not Repeat Yourself). W istocie DRY używa Ruby on Rails i kilku innych implementacji, a pomysł polega na tym, że programista pisze coś raz i raz używając kodu. Zasada DRY jest zdefiniowana jako "każda część musi mieć pojedynczą, jednoznaczną, autorytatywną reprezentację w systemie." Właściwa implementacja DRY oznacza, że ​​zmiana jednego elementu systemu nie zmienia niespokrewnionych elementów, co jest dość logiczne.

    Konwencja konfiguracji

    Jest to paradygmat projektowania, który zasadniczo stara się usunąć liczbę rozwiązań, które musi wykonać programista. Osiąga się to poprzez stworzenie struktury z umowami, które zwykle wymagają wszystkich elementów. Deweloper musi jedynie zmienić to, co naprawdę potrzebne. To całkiem proste. Na przykład dla formularza zawierającego elementy, które są zawsze potrzebne i mają te same wartości. Formularz zawiera znacznik, który definiuje akcję, metodę, nazwę, id enctype. Na przykład, jeśli nie musisz nic zmieniać, możesz łatwo uzyskać nazwę, identyfikator i działanie z adresu URL. Możesz również zainstalować wszystkie metody POST, o ile nie zaznaczono inaczej. Zastosowanie tego pomysłu do wszystkich elementów sprawia, że ​​tworzenie takiego typu programu jest bardzo szybkie, łatwe i zrozumiałe. MVC to naprawdę dobry sposób na rozpoczęcie produkcji czystego, skalowalnego, wydajnego i szybkiego kodu w krótszym czasie przy minimalnym wysiłku. Niektóre struktury MVC nie zawierają wszystkich tych funkcji, większość z nich zawiera tylkojeden lub dwa

    Zalety i wady metody

    Szablon projektu MVC jest wykorzystywany przy opracowywaniu oprogramowania, którego podstawowa zasada opiera się na założeniu, że logika programu powinna być oddzielona od jego prezentacji. Mówiąc najprościej, jest to najlepszy sposób na oddzielenie logiki programu od wyświetlacza. Jak każda metoda programowania, ma swoje wady i zalety. Zalety MVC:
  • Szybki proces rozwoju, wspiera szybki i równoległy rozwój.
  • W MVC jeden programista może pracować nad serialem, a drugi może pracować nad kontrolerem, tworząc logikę biznesową.
  • Aplikacja opracowana wraz z aplikacją jest trzykrotnie szybsza niż aplikacja opracowana z innymi szablonami rozwoju.
  • ​​
  • Zdolność do zapewnienia kilku gatunków.
  • Możesz tworzyć wiele widoków w MVC.
  • Powielanie kopii jest bardzo ograniczone, ponieważ oddziela dane i logikę od ekranu.
  • Obsługa technologii asynchronicznej, która pomaga programistom w szybkim opracowaniu aplikacji do pobrania.
  • Modyfikacja nie ma wpływu na cały model, ponieważ część modelu nie zależy od części widoków. Dlatego wszelkie zmiany w Modelu nie wpłyną na całą architekturę.
  • Szablon .NET MVC zwraca dane bez użycia żadnego formatowania, więc można używać tych samych składników i wywoływać je do użycia z dowolnym interfejsem.
  • Dzięki tej platformie bardzo łatwo jest zaprojektować zoptymalizowane pod kątem SEO adresy URL, aby uzyskać więcej odwiedzin z konkretnej aplikacji.
  • Wady MVC:
  • Zwiększona złożoność.
  • Nieefektywny dostęp do danych.
  • Złożoność korzystania z MVC z nowoczesnym interfejsem użytkownika.
  • Wymaga wielu programistów.
  • Wymagana jest znajomość kilku technologii. Deweloper zna kod po stronie klienta i kod html.
  • Tworzenie pierwszej aplikacji

    Można tworzyć przykłady ASP.NET MVC z odpowiednią wersją środowiska Visual Studio i .NET przy użyciu społeczności MVC v522017 i platformy .NET 4.6. Jak uruchomić:
  • Otwórz program Visual Studio 2017 i więcej: Plik - & gt; Utwórz & gt; Projekt
  • Rozwiń węzeł Visual C # i Web po lewej stronie, a następnie wybierz MVC asp netto w środkowej sekcji.
  • Wprowadź nazwę projektu MyMVCApplication, możesz podać dowolną odpowiednią nazwę dla swojej aplikacji.
  • Ustaw lokalizację projektu, klikając przycisk "Przejrzyj", a następnie "OK".
  • Okno "Nowa aplikacja internetowa" znajduje rdzeń MVC asp.
  • Zmienia uwierzytelnianie, klikając odpowiedni przycisk.
  • Kliknij przycisk OK, aby włączyć MVC w celu utworzenia projektu przy użyciu szablonu.
  • Pierwsza aplikacja jest gotowa.
  • Uruchom projekt w trybie debugowania F5 lub Ctrl + F5 bez debugowania. Projekt szkieletu MVC domyślnie zawiera pliki javascript i CSS bootstrap 3.0.
    W ten sposób możesz tworzyć responsywne strony internetowe. Ten responsywny interfejs zmieni swój wygląd w zależności od rozmiaru ekranu różnych urządzeń. Na przykład górny pasek menu zostanie zmieniony na urządzeniach mobilnych. Łatwo jest więc stworzyć pierwszą, rdzeniową aplikację MVC z Visual Studio 2013. Podstawą jest MVCProgramowanie i porządkowanie plików programów. Aby określić ideę organizacji kodu dla jego funkcji, programiści utworzą foldery dla każdej części, co stanowi punkt wyjścia do tłumaczenia pomysłów na kod, a także ułatwia powrót do kodu. Myślenie o tym, w jaki sposób kod wchodzi w interakcję z innym kodem, jest ważną częścią programowania, a uczenie się współpracy z innymi programistami jest ważną umiejętnością. Spędzając czas, aby zrozumieć, w jaki sposób aplikacja pasuje do struktury MVC php, programista zwiększa swoje umiejętności programistyczne.

    Powiązane publikacje