MVC a MVP

Anonim

MVC vs MVP

Model View Controller (také známý jako MVC) je vzorek architektonické povahy používaný specificky v softwarovém inženýrství. Tento konkrétní vzor se používá k izolaci toho, co je známé jako "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 samostatný vývoj.

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

Modelová část MVC je v podstatě vzorek, který představuje data přes specifické domény, data použitá k tomu, aby aplikace mohla fungovat. Zobrazovací část transformuje model na interakci vhodnou pro uživatele - to je obvykle prvek uživatelského rozhraní. Konečně, část regulátoru nejlépe přijímá vstup. Při rozhodování o objektech nalezených v modelu slouží řadič jako katalyzátor reakce.

Modelová část MVP definuje data, která mají být v uživatelském rozhraní zobrazena (nebo na něž se jedná). Část zobrazení zobrazuje data definovaná v modelu a odesílá uživatelům povelové příkazy (známé jako události) přednášejícímu (kdo bude jednat s těmito daty). Moderátor pak pracuje na modelu a pohledu na model. Jako takový je schopen načíst data z repozitářů (nalezených v modelu), pokračovat v datech a formátovat je, aby byla snadno zobrazena v pohledu.

Existují různé varianty MVC. Proto je tok řídících jednotek ve velmi přísném pořadí: Uživatel bude nejprve komunikovat s rozhraním (např. Stisknutím tlačítka na myši) a potom řídí správce vstupní události a změní ji na příslušnou uživatelskou akci. Řídicí jednotka dále upozorní na to, co uživatel provedl, což s největší pravděpodobností způsobí, že model změní svůj stav (například jako aktualizace). Pohled pak představuje otázku modelu pro generování uživatelského rozhraní. Nakonec uživatelské rozhraní čeká na pokyny, které restartují cyklus.

Souhrn:

1. MVC je architektonický vzor, ​​který izoluje logiku domény; MVP je potomkem MVC, jehož cílem je pomoci testovat automatizované jednotky a zlepšit oddělení obav.

2. Pokud jde o model MVC, model představuje data, pohled převede model na uživatelsky přívětivou interakci a regulátor obdrží vstup; pokud jde o model MVP, model definuje data, pohled zobrazuje a moderátor jedná na modelu a jeho pohledu.