Skirtumas tarp MVC ir MVP

MVC vs MVP

Modelio vaizdo valdiklis (taip pat žinomas kaip MVC) yra architektūrinio pobūdžio modelis, naudojamas specialiai programinės įrangos inžinerijai. Šis konkretus modelis naudojamas atskirti vadinamąją „domeno logiką“ - tai paprasčiausia programos logika vartotojui. Jis atskirtas nuo įvesties ir pateikimo (žinomas kaip GUI) ir leidžia savarankiškai tobulėti.

Model View Presenter (dar žinomas kaip MVP) yra tiesioginė MVC permutacija. Tai programinės įrangos šablonas (tiksliau, vartotojo sąsajos projektavimo šablonas), sukurtas specialiai tam, kad būtų lengviau išbandyti automatizuotus blokus ir patobulinti vadinamųjų rūpesčių atskyrimą pateikimo logikoje. Rūpesčių atskyrimas iš esmės yra procesas, kurio metu kompiuterio programa yra padalinta į atskiras savybes, kurios, atsižvelgiant į jų veikimą, nesutampa..

Modelio MVC dalis iš esmės yra modelis, vaizduojantis duomenis per konkrečius domenus, duomenis, naudojamus tam, kad programa galėtų veikti. Peržiūros dalis paverčia modelį vartotojams tinkama sąveika - dažniausiai tai yra vartotojo sąsajos elementas. Galiausiai valdiklio dalis tinkamiausiai priima įvestį. Priimdamas sprendimus dėl modelyje rastų objektų, valdiklis tarnauja kaip atsako katalizatorius.

Modelio MVP dalis nusako duomenis, kurie turi būti rodomi (arba turi būti vykdomi) vartotojo sąsajoje. Rodinio dalyje pateikiami modelyje apibrėžti duomenys ir siunčiamas vartotojo paragintas komandas (žinomas kaip įvykiai) vedėjui (kuris veiks pagal šiuos duomenis). Tada vedėjas veikia pagal modelį ir modelio vaizdą. Iš esmės jis gali nuskaityti duomenis iš saugyklų (rastų modelyje), tęsti duomenis ir juos suformatuoti, kad būtų lengvai rodomas rodinyje..

Yra įvairių MVC variantų. Paprastai valdymo srautas vyksta labai griežta tvarka: Pirmiausia vartotojas sąveikauja su sąsaja (pavyzdžiui, paspaudžiamas pelės mygtuką), o tada valdiklis pasirūpina įvesties įvykiu ir jį pakeičia į tinkamas vartotojo veiksmas. Tada valdiklis praneša modeliui, ką vartotojas padarė, ir tai greičiausiai lems, kad modelis pakeis savo būseną (pavyzdžiui, kaip atnaujinimas). Tuomet rodinyje pateikiamas klausimas, kaip sugeneruoti vartotojo sąsają. Galiausiai vartotojo sąsaja laukia instrukcijų, kurios paleidžia ciklą iš naujo.

Santrauka:

1. MVC yra architektūrinis modelis, išskiriantis domeno logiką; MVP yra MVC, sukurtos padėti išbandyti automatizuotus blokus ir pagerinti atskyrimą nuo rūpesčių, palikuonis.

2. Kalbant apie MVC, modelis atvaizduoja duomenis, vaizdas paverčia modelį patogia sąveika vartotojui, o valdiklis gauna įvestį; kalbant apie MVP, modelis apibūdina duomenis, vaizdas juos rodo, o pateikėjas veikia pagal modelį ir jo rodinį.