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.