Rozdiel medzi MVC a MVVM

Webová stránka je viac ako to, čo vyzerá navonok. Štrukturálny vzorec webovej stránky sa v skutočnosti mení rovnako ako samotná webová stránka. Webová stránka je komplexná sieť množstva komponentov, ktoré vzájomne pôsobia pri spúšťaní aplikácie. Zoberme si napríklad Facebook, ktorý je jedným z najzložitejších webových stránok, ktoré používame takmer každý deň. Prejdite na svoju domovskú stránku a uvidíte, že webové stránky vybavujú takmer tucet žiadostí o údaje naraz, aby ste stránku naplnili množstvom komponentov. Dá sa ľahko predstaviť, že logika vzájomného pôsobenia komponentov pri spúšťaní programu, ako je Facebook, sa môže veľmi líšiť od ostatných webových stránok. Základná funkčnosť akejkoľvek webovej stránky je definovaná ľahkosťou, s ktorou klientske rozhranie interaguje s príslušným modelom, aby získal údaje, ktoré divák vyhľadáva. MVC a MVVM sú dva populárne dizajnové vzory vo svete vývoja softvéru.

Čo je MVC?

MVC, skratka pre Model-View-Controller, je návrhový model aplikácie, ktorý sa bežne používa na vývoj moderných užívateľských rozhraní. Vzor MVC je v centre moderného objektovo-orientovaného vývoja softvéru, ktorý vyšiel z objektovo orientovanej dizajnérskej komunity. Pôvodne bol nazvaný Thing-Model-View-Editor v roku 1979, ale neskôr bol zjednodušený a premenovaný na Model-View-Controller. Používa sa predovšetkým na navrhovanie a vývoj mobilných a webových aplikácií. Rozdeľuje používateľské rozhranie aplikácie do troch rôznych častí: Model, Pohľad a Ovládač.

Model: Model predstavuje skupinu tried, ktoré popisujú údaje, ktoré plánujete použiť v aplikácii. Opisuje spoločný formát údajov, ale môže obsahovať aj obchodné pravidlá, konverzie, overovaciu logiku a rôzne ďalšie funkcie.

vyhliadka: Pohľad predstavuje údaje, ktoré sa majú zobraziť z modelu. Definuje spôsob zobrazenia používateľského rozhrania aplikácie. Model môže mať niekoľko pohľadov v závislosti od aplikácie. Pohľadový model z hľadiska dizajnu v podstate zobrazuje komponenty používateľského rozhrania, ako je HTML, jQuery atď.

kontrolór: Ovládač je ústredným prvkom aplikácie MVC, ktorá riadi komunikáciu od používateľa vo forme udalostí, celkového toku aplikácií a logiky špecifickej pre aplikáciu. Udalosti sa potom prevedú na servisné požiadavky a prenesú sa do modelu alebo zobrazenia. Je to jediný komponent, prostredníctvom ktorého používateľ interaguje so systémom.

Čo je MVVM?

Model-View-ViewModel alebo MVVM je populárny vzor architektúry softvéru, ktorý sa bežne používa na vývoj opakovane použiteľných a ľahko testovateľných webových aplikácií. MVVM je založený na modeli MVC, ale vylepšuje sa na modeli MVC zavedením novej triedy s názvom ViewModel, ktorá spravuje údaje špecifické pre dané zobrazenie. Hlavným cieľom modelu MVVM je skutočné oddelenie medzi komponentmi Model a View. Hlavnými komponentmi modelu sú: Model, View a ViewModel.

Model: Zásada zostáva rovnaká ako v modeli MVC. Model predstavuje obchodnú logiku a údaje a určuje, ako by sa malo s údajmi manipulovať.

vyhliadka: Model zobrazenia predstavuje údaje, ktoré sa majú zobraziť, ale nevykonáva žiadnu manipuláciu s údajmi. Pohľad je rovnaký ako v MVC, s výnimkou dátových väzieb, ktoré sa musia pre pohľad nastaviť, čo sa robí pridaním ViewModel do pohl'adu..

ViewModel: Je to najdôležitejšia súčasť modelu, pretože je navrhnutý tak, aby využíval funkcie viazania údajov, čo v skutočnosti pomáha udržiavať pohľad oddelený od modelu a zároveň slúži ako kontrolór na uľahčenie komunikácie. medzi komponentmi Pohľad a Model.

Rozdiel medzi MVC a MVVM

vzor

- Model-View-Controller (MVC) je návrhový model aplikácie, ktorý sa bežne používa na vývoj moderných používateľských rozhraní. Rozdeľuje používateľské rozhranie aplikácie do troch rôznych častí: Model, Pohľad a Ovládač. Model-View-ViewModel (MVVM) je na druhej strane moderným variantom modelu MVC, ktorý sa bežne používa na vývoj opakovane použiteľných a ľahko testovateľných webových aplikácií. Hlavnými komponentmi modelu MVVM sú Model, View a ViewModel.

Viazanie údajov

- Kľúčovou vlastnosťou, ktorá odlišuje MVVM od iných modelov navrhovania softvéru, je väzba údajov, čo je jednoducho mechanizmus, ktorý spája používateľské rozhranie s obchodnou logikou. Je to kľúčová technológia, ktorá spája pohľady s ich ViewModels, čo zaisťuje, že modely a vlastnosti sú synchronizované s pohľadmi v ViewModel. Vylučuje to potrebu vystavenia celého modelu pohľadu.

kontrolór

- Kľúčový rozdiel medzi oboma architektonickými vzormi je ten, že v MVC je kontrolór zodpovedný za riadenie komunikácie medzi modelom a pohľadom pomocou udalostí, zatiaľ čo rámec robí všetky zdvíhanie v MVVM pomocou funkcie nazývanej dátová väzba. ViewModel v MVVM pomáha udržiavať pohľad oddelený od modelu a súčasne slúži ako ovládač na uľahčenie komunikácie medzi komponentmi View a Model.

MVC vs. MVVM: porovnávacia tabuľka

zhrnutie

Zatiaľ čo MVC aj MVVM sú derivátmi modelu MVC, MVVM je moderný variant modelu MVC, ktorý zavádza novú triedu s názvom ViewModel, ktorá spravuje údaje špecifické pre daný pohľad. Hlavným cieľom modelu MVVM je skutočné oddelenie medzi komponentmi Model a View. V MVC je kontrolór zodpovedný za riadenie komunikácie medzi modelom a pohľadom. V MVVM však ViewModel pomáha udržiavať pohľad oddelený od modelu a tiež slúži ako radič na uľahčenie komunikácie medzi komponentmi.