Diferența dintre MVC și MVP Diferența dintre

Anonim

MVC vs MVP

Modelul View Controller (cunoscut și ca MVC) este un model de natură arhitecturală folosit special în ingineria software. Acest model special este folosit 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ă.

Model View Viewer (cunoscut și ca 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 împărțit în trăsături distincte care nu se suprapun, în ceea ce privește modul în care funcționează.

Partea model a MVC este în esență un model care reprezintă date prin domenii specifice datele utilizate pentru a permite aplicației să opereze. 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.

Partea 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 datele din depozite (găsite în model), să continue datele și să le formateze, pentru a fi ușor afișate î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 modelul 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.