Różnica między MVC i MVVM

Różnica między MVC i MVVM

Witryna to więcej niż to, jak wygląda na zewnątrz. W rzeczywistości wzorzec strukturalny strony internetowej różni się tak samo jak sama strona internetowa. Witryna to złożona sieć mnóstwa komponentów, które wchodzą w interakcje ze sobą w celu uruchomienia aplikacji. Weźmy na przykład Facebook, który jest jedną z najbardziej złożonych stron internetowych, których używamy prawie codziennie. Przejdź do jego strony głównej, a zobaczysz, że strona internetowa obsługuje prawie tuzin żądań danych, aby wypełnić stronę mnóstwem komponentów. Można łatwo sobie wyobrazić, że logika stojąca za komponentami wchodzą w interakcje ze sobą, aby uruchomić program taki jak Facebook. Podstawowa funkcjonalność dowolnej strony internetowej jest zdefiniowana przez łatwość, z jaką front end oddziałuje z odpowiednim modelem w celu uzyskania danych, które poszukuje przeglądarki. MVC i MVVM to dwa popularne wzorce projektowe w świecie tworzenia oprogramowania.

Co to jest MVC?

MVC, skrót od modelu-widokowego, to model projektowania aplikacji powszechnie używany do opracowywania nowoczesnych interfejsów użytkownika. Wzór MVC jest w centrum nowoczesnego rozwoju oprogramowania zorientowanego na obiekt, który wyłonił się ze społeczności projektowej zorientowanej na obiekt. W 1979 r. Jest to głównie używane do projektowania i opracowywania aplikacji mobilnych i internetowych. Dzieli interfejs użytkownika aplikacji na trzy odrębne części: model, widok i kontroler.

Model: Model reprezentuje zestaw klas opisujących dane, których planujesz użyć w aplikacji. Opisuje wspólny format danych, ale może również zawierać reguły biznesowe, konwersje, logikę sprawdzania poprawności i różne inne funkcje.

Pogląd: Widok reprezentuje dane, które mają być wyświetlane z modelu. Określa, w jaki sposób zostanie wyświetlony interfejs użytkownika aplikacji. Model może mieć wiele widoków w zależności od aplikacji. Model View, w kategoriach projektowych, zasadniczo przedstawia komponenty interfejsu użytkownika, takie jak HTML, JQuery i tak dalej.

Kontroler: Kontroler jest centralnym elementem aplikacji MVC, która obsługuje komunikację od użytkownika w postaci zdarzeń, ogólnego przepływu aplikacji i logiki specyficznej dla aplikacji. Wydarzenia są następnie konwertowane na żądania serwisowe i są przekazywane do modelu lub widoku. Jest to jedyny komponent, za pomocą którego użytkownik wchodzi w interakcje z systemem.

Co to jest MVVM?

Model-View-ViewModel lub MVVM to popularny wzór architektoniczny oprogramowania powszechnie używany do opracowywania aplikacji internetowych wielokrotnego użytku i łatwych do testowania aplikacji internetowych. MVVM opiera się na wzorze MVC, ale poprawia model MVC, wprowadzając nową klasę o nazwie ViewModel, która zarządza danymi specyficznymi dla widoku. Podstawowym celem modelu MVVM jest prawdziwe oddzielenie modelu od komponentów widoku. Głównymi elementami modelu to: model, widok i viewModel.

Model: Zasada pozostaje taka sama jak w modelu MVC. Model reprezentuje logikę biznesową i dane i określa, w jaki sposób należy manipulować danymi.

Pogląd: Model widoku reprezentuje dane do wyświetlenia, ale nie wykonuje żadnych manipulacji danych. Widok jest taki sam jak w MVC, z wyjątkiem powiązań danych dla widoku, który odbywa się poprzez dodanie ViewModel do widoku.

ViewModel: Jest to najważniejszy element modelu, ponieważ jest on zaprojektowany do korzystania z funkcji wiązania danych, co w rzeczywistości pomaga utrzymać widok oddzielny od modelu, a jednocześnie działa jako kontroler w celu ułatwienia komunikacji komunikacyjnej między widokiem a komponentami modelu.

Różnica między MVC i MVVM

Wzór

- Model-View-Contoller (MVC) to model projektowania aplikacji powszechnie używany do opracowywania nowoczesnych interfejsów użytkowników. Dzieli interfejs użytkownika aplikacji na trzy odrębne części: model, widok i kontroler. Model-View-ViewModel (MVVM), z drugiej strony, jest nowoczesnym wariantem modelu MVC powszechnie stosowanego do opracowywania wielokrotnego użytku i łatwych do testowania aplikacji internetowych. Głównymi elementami modelu MVVM są model, widok i viewModel.

Wiązanie danych

- Kluczową funkcją, która odróżnia MVVM od innych wzorców projektowania oprogramowania, jest wiązanie danych, który jest po prostu mechanizmem, który łączy interfejs użytkownika z logiką biznesową. Jest to kluczowa technologia, która łączy widoki z ich wizogelami, które zapewnia modele i właściwości są zsynchronizowane z widokiem w ViewModel. Eliminuje potrzebę narażenia całego modelu na widok.

Kontroler

- Kluczową różnicą między dwoma wzorcami architektonicznymi jest to, że w MVC kontroler jest odpowiedzialny za zarządzanie komunikacją między modelem a widokiem za pomocą zdarzeń, podczas gdy framework wykonuje całe ciężkie podnoszenie w MVVM przy użyciu funkcji zwanej wiązaniem danych. ViewModel w MVVM pomaga utrzymać widok oddzielny od modelu, a jednocześnie działa jako kontroler w celu ułatwienia komunikacji między widokiem a komponentami modelu.

MVC vs. MVVM: wykres porównawczy

Streszczenie

Podczas gdy zarówno MVC, jak i MVVM są pochodnymi modelu MVC, MVVM jest nowoczesnym wariantem modelu MVC, który wprowadza nową klasę o nazwie ViewModel, która zarządza danymi specyficznymi dla widoku. Podstawowym celem modelu MVVM jest prawdziwe oddzielenie modelu od komponentów widoku. W MVC kontroler jest odpowiedzialny za zarządzanie komunikacją między modelem a widokiem. Jednak w MVVM ViewModel pomaga utrzymać widok oddzielny od modelu, a także działa jako kontroler, aby ułatwić komunikację między komponentami.