Rozdíl mezi MVC a MVP

MVC vs MVP

Model View Controller (známý také jako MVC) je vzor architektonické povahy používaný konkrétně v softwarovém inženýrství. Tento konkrétní vzorec se používá k izolování toho, co se nazývá „logika domény“ - což je jednoduše logika aplikace pro uživatele. Je izolován od vstupu a prezentace (známé jako GUI) a umožňuje nezávislý vývoj.

Model View Presenter (také známý jako MVP) je přímá permutace MVC. Jde o softwarový vzor (konkrétněji vzorový návrh uživatelského rozhraní) navržený speciálně pro testování automatizovaných jednotek a pro zlepšení toho, co se v prezentační logice nazývá oddělení zájmů. Rozdělení obav je v podstatě proces, při kterém je počítačový program rozdělen do samostatných funkcí, které se nepřekrývají, pokud jde o jejich fungování.

Modelová část MVC je v podstatě vzor, ​​který představuje data přes specifické domény, data použitá k umožnění aplikace. Pohledová část transformuje model do interakce vhodné pro uživatele - jedná se obvykle o prvek uživatelského rozhraní. Nakonec řídicí část nejvíce vhodně přijímá vstup. Při rozhodování o objektech nalezených v modelu slouží regulátor jako katalyzátor reakce.

Modelová část MVP definuje data, která mají být zobrazena (nebo se na ně má jednat) v uživatelském rozhraní. Část zobrazení zobrazuje data definovaná v modelu a odešle uživatelem vyzvané příkazy (známé jako události) přednášejícímu (který bude na tato data jednat). Přednášející pak jedná o model a pohled na model. Jako takový je schopen načíst data z úložišť (nalezených v modelu), pokračovat v nich a formátovat je, aby je bylo možné snadno zobrazit v pohledu.

Existují různé varianty MVC. Tok ovládacího prvku je tedy ve velmi přísném pořadí: Nejprve bude uživatel interagovat s rozhraním (například stisknutím tlačítka na myši) a poté se správce postará o vstupní událost a změní ji na příslušná akce uživatele. Dále řadič oznámí model toho, co uživatel udělal, což s největší pravděpodobností povede k tomu, že model změní svůj stav (například jako aktualizace). Pohled pak k modelu položí otázku, která vygeneruje uživatelské rozhraní. Nakonec uživatelské rozhraní čeká na pokyny, které cyklus restartují.

Souhrn:

1. MVC je architektonický vzorec, který izoluje logiku domény; MVP je potomek MVC navržený tak, aby pomohl vyzkoušet automatizované jednotky a zlepšit oddělení obav.

2. Pokud jde o MVC, model představuje data, pohled transformuje model do uživatelsky přívětivé interakce a ovladač přijímá vstup; pokud jde o MVP, model definuje data, pohled je zobrazuje a předvádějící jedná podle modelu a jeho pohledu.