Razlika med MVC in MVP

MVC proti MVP

Model View Controller (znan tudi kot MVC) je vzorec arhitekturne narave, ki se uporablja posebej v programskem inženiringu. Ta poseben vzorec se uporablja za izolacijo tistega, kar je znano kot "logika domene" - kar je preprosto logika aplikacije za uporabnika. Izoliran je od vnosa in predstavitve (znan kot GUI) in omogoča neodvisen razvoj.

Model View Presenter (znan tudi kot MVP) je neposredna permutacija MVC-ja. Gre za programski vzorec (natančneje vzorec oblikovanja uporabniškega vmesnika), zasnovan posebej za pomoč pri testiranju samodejnih enot in izboljšanju tega, kar je v predstavitveni logiki znano kot ločitev težav. Ločitev pomislekov je v bistvu postopek, s katerim se računalniški program loči na različne funkcije, ki se ne prekrivajo v smislu delovanja.

Del modela MVC je v bistvu vzorec, ki predstavlja podatke preko določenih domen, podatke, ki se uporabljajo za delovanje aplikacije. Del pogleda pretvori model v interakcijo, primerno za uporabnike - to je ponavadi element uporabniškega vmesnika. Končno del krmilnika najustrezneje sprejme vhod. Krmilnik s sprejemanjem odločitev za predmete, ki jih najdete v modelu, služi kot katalizator odziva.

Vzorčni del MVP določa podatke, ki bodo prikazani (ali nanje delujejo) v uporabniškem vmesniku. Obseg pogleda prikaže podatke, definirane v modelu, in predstavitelju pošlje ukaze, ki jih uporabnik pozove (znani kot dogodki) (ki bodo ukrepali na te podatke). Predstavitelj torej deluje na model in pogled na model. Kot tak je sposoben priklicati podatke iz skladišč (ki jih najdemo v modelu), jih nadaljevati in formatirati, da se lahko enostavno prikažejo v pogledu.

Obstajajo različne različice MVC. Kot tak je pretok krmiljenja v zelo strogem vrstnem redu: Najprej bo uporabnik sodeloval z vmesnikom (na primer s pritiskom gumba na miško), nato pa krmilnik poskrbi za vhodni dogodek in ga spremeni v ustrezno uporabniško dejanje. Nato krmilnik sporoči model, kaj je uporabnik storil, kar bo najverjetneje povzročilo, da bo model spremenil svoje stanje (na primer kot posodobitev). Pogled nato postavi vprašanje modelu za ustvarjanje uporabniškega vmesnika. Na koncu uporabniški vmesnik počaka na navodila, ki bodo cikel znova zagnala.

Povzetek:

1. MVC je arhitekturni vzorec, ki izolira logiko domene; MVP je potomec MVC, zasnovan za pomoč pri testiranju avtomatiziranih enot in izboljšanju ločitve težav.

2. Glede MVC model predstavlja podatke, pogled model pretvori v uporabniku prijazno interakcijo in krmilnik prejme vhod; glede MVP model definira podatke, pogled jih prikaže in predstavitelj deluje na model in njegov pogled.