MVC vs MVP
Model View Controller (također poznat kao MVC) je uzorak arhitektonskog karaktera koji se koristi posebno u programskoj inženjerstvu. Ovaj se poseban obrazac koristi za izoliranje onoga što je poznato kao "logika domene" - što je jednostavno logika aplikacije za korisnika. Izoliran je od unosa i prezentacije (poznat kao GUI) i omogućuje neovisan razvoj.
Model View Presenter (također poznat kao MVP) izravna je permutacija MVC-a. To je softverski obrazac (točnije obrazac dizajna korisničkog sučelja) dizajniran posebno za pomoć u ispitivanju automatiziranih jedinica i poboljšava ono što je poznato kao razdvajanje problema u logici prezentacije. Razdvajanje problema u osnovi je proces kojim se računalni program odvaja u različite značajke koje se ne preklapaju u smislu funkcioniranja..
Dio modela MVC u osnovi je obrazac koji predstavlja podatke putem određenih domena koje koriste podaci koji omogućuju da aplikacija radi. Dio prikaza transformira model u interakciju pogodnu za korisnike - to je obično element korisničkog sučelja. Konačno, dio kontrolera najprikladnije prima ulaz. Odlučujući za objekte pronađene u modelu, kontroler služi kao katalizator odgovora.
Dio modela MVP definira podatke koji će se prikazati (ili djelovati na njima) u korisničkom sučelju. Dio prikaza prikazuje podatke definirane u modelu i predavatelju (koji će djelovati na te podatke) šalje naredbe koje korisnik traži (poznate kao događaji). Prezentator, dakle, djeluje na model i pogled na model. Kao takav, može dohvaćati podatke iz spremišta (nalaze se u modelu), nastavljati podatke i formatirati kako bi se mogli lako prikazati u prikazu.
Postoje različite varijante MVC-a. Kao takav, tijek kontrole odvija se u vrlo strogom redoslijedu: Prvo, korisnik će komunicirati s sučeljem (na primjer, pritiskom na tipku miša), a zatim se regulator pobrine za ulazni događaj i promijeni ga u odgovarajuću radnju korisnika. Zatim kontroler obavijesti model onoga što je korisnik učinio, što će najvjerojatnije rezultirati u promjeni modela (kao na primjer ažuriranje). Pogled tada postavlja model modelu za stvaranje korisničkog sučelja. Na kraju, korisničko sučelje čeka upute koje će ponovno pokrenuti ciklus.
Sažetak:
1. MVC je arhitektonski obrazac koji izolira logiku domene; MVP je potomak MVC-a namijenjen ispitivanju automatiziranih jedinica i poboljšanju razdvajanja problema.
2. Što se tiče MVC-a, model predstavlja podatke, pogled transformira model u interakciju prilagođenu korisniku, a kontroler prima ulaz; što se tiče MVP-a, model definira podatke, prikaz ih prikazuje, a prezentator djeluje na model i njegov pogled.