Rozdiel medzi MVC a MVP

MVC verzus MVP

Model View Controller (známy tiež ako MVC) je vzor architektonickej povahy používaný konkrétne v softvérovom inžinierstve. Tento konkrétny vzor sa používa na izoláciu toho, čo sa nazýva „logika domény“ - čo je jednoducho logika aplikácie pre používateľa. Je izolovaný od vstupu a prezentácie (známy ako GUI) a umožňuje nezávislý vývoj.

Model View Presenter (tiež známy ako MVP) je priama permutácia MVC. Je to vzor softvéru (konkrétnejšie vzor návrhu používateľského rozhrania) navrhnutý špeciálne na podporu testovania automatizovaných jednotiek a na zlepšenie toho, čo sa v prezentačnej logike nazýva oddelenie záujmov. Rozdelenie obáv je v podstate proces, pri ktorom je počítačový program rozdelený na odlišné črty, ktoré sa neprekrývajú, pokiaľ ide o ich fungovanie..

Modelová časť MVC je v podstate vzor, ​​ktorý predstavuje dáta cez špecifické domény, údaje použité na umožnenie aplikácie. Pohľadová časť transformuje model na interakciu vhodnú pre používateľov - zvyčajne ide o prvok používateľského rozhrania. Napokon, riadiaca časť najvýhodnejšie prijíma vstup. Pri rozhodovaní o objektoch nachádzajúcich sa v modeli slúži ovládač ako katalyzátor reakcie.

Modelová časť MVP definuje dáta, ktoré sa majú zobraziť (alebo na ktoré sa má konať) v používateľskom rozhraní. Pohľadová časť zobrazuje údaje definované v modeli a odosiela moderátorovi (ktorý bude na základe týchto údajov konať) príkazy používateľa (známe ako udalosti). Vystupujúci potom pôsobí na model a pohľad na model. Ako taký je schopný získavať údaje z archívov (nachádzajúcich sa v modeli), pokračovať v nich a formátovať ich, aby sa mohli ľahko zobraziť v pohľade..

Existujú rôzne varianty MVC. Tok ovládacích prvkov je teda vo veľmi prísnom poradí: Najskôr bude užívateľ interagovať s rozhraním (napríklad stlačením tlačidla na myši) a potom sa kontrolór postará o vstupnú udalosť a zmení ju na príslušná akcia používateľa. Ďalej regulátor oznámi model toho, čo používateľ urobil, čo bude pravdepodobne mať za následok zmenu jeho stavu (napríklad ako aktualizácia). Pohľad potom kladie otázku modelu na vygenerovanie užívateľského rozhrania. Nakoniec užívateľské rozhranie čaká na pokyny, ktoré reštartujú cyklus.

Zhrnutie:

1. MVC je architektonický vzorec, ktorý izoluje logiku domény; MVP je potomok MVC navrhnutý tak, aby pomáhal testovať automatizované jednotky a zlepšovať oddelenie problémov.

2. Pokiaľ ide o MVC, model predstavuje údaje, pohľad transformuje model do užívateľsky príjemnej interakcie a ovládač prijíma vstup; pokiaľ ide o MVP, model definuje údaje, zobrazuje ich zobrazenie a moderátor prezentuje model a jeho zobrazenie.