MVC vs MVP
Modelul View Controller (cunoscut și sub numele de MVC) este un model de natură arhitecturală folosit în mod specific în ingineria software. Acest model special este utilizat pentru a izola ceea ce se numește "logică de domeniu" - care este pur și simplu logica unei aplicații pentru utilizator. Este izolat de introducere și prezentare (cunoscut sub numele de GUI) și permite dezvoltarea independentă.
Vizualizatorul modelului View (cunoscut și sub numele de MVP) este o permutare directă a MVC. Este un model software (mai precis, un model de interfață cu utilizatorul) proiectat special pentru a ajuta la testarea unităților automate și pentru a îmbunătăți ceea ce este cunoscut ca separarea preocupărilor în logica de prezentare. Separarea preocupărilor este, în esență, un proces prin care un program de calculator este separat în trăsături distincte care nu se suprapun, în ceea ce privește modul în care funcționează.
Porțiunea model a MVC este în esență un model care reprezintă date prin domenii specifice datele utilizate pentru a permite aplicației să funcționeze. Partea de vizualizare transformă modelul într-o interacțiune potrivită pentru utilizatori - aceasta este de obicei un element de interfață utilizator. În cele din urmă, porțiunea controlerului primește cea mai potrivită intrare. Luând decizii pentru obiectele găsite în model, controlerul servește drept catalizator pentru răspuns.
Porțiunea de model a MVP definește datele care urmează să fie afișate (sau acționate) în interfața cu utilizatorul. Porțiunea de vizualizare afișează datele definite în model și trimite comenzilor de prompt ale utilizatorilor (cunoscute ca evenimente) către prezentator (care va acționa asupra acestor date). Prezentatorul, atunci, acționează asupra modelului și a vederii modelului. Ca atare, este capabil să recupereze date din depozite (găsite în model), să continue datele și să le formateze, pentru a fi ușor de afișat în vizualizare.
Există diferite variante ale MVC. Ca atare, fluxul de control este într-o ordine foarte strictă: În primul rând, utilizatorul va interacționa cu interfața (apăsând de exemplu un buton de pe mouse), iar apoi controlerul are grijă de evenimentul de intrare și îl modifică acțiunea corespunzătoare a utilizatorului. Apoi, controlerul notifică modelul a ceea ce a făcut utilizatorul, ceea ce va duce cel mai probabil la modificarea modelului său (de exemplu, ca o actualizare). Vederea apoi pune o întrebare modelului pentru a genera interfața cu utilizatorul. În cele din urmă, interfața cu utilizatorul așteaptă instrucțiuni care vor reporni ciclul.
Rezumat:
1. MVC este un model arhitectural care izolează logica domeniului; MVP este un descendent al MVC conceput pentru a ajuta la testarea unităților automatizate și pentru a îmbunătăți separarea preocupărilor.
2. În ceea ce privește MVC, modelul reprezintă datele, vederea transformă modelul într-o interacțiune ușor de utilizat, iar controlerul primește intrarea; în ceea ce privește modelul MVP, modelul definește datele, ecranul îl afișează și prezentatorul acționează asupra modelului și a vederii acestuia.