MVC i MVP

Anonim

MVC vs MVP

Kontrolor vidnog modela (također poznat kao MVC) je uzorak arhitektonske prirode koji se koristi posebno u softverskom inženjerstvu. Ovaj se uzorak koristi za izoliranje onoga što se naziva 'logika domena' - što je jednostavno logika aplikacije za korisnika. Izolira se od ulaza i prezentacije (poznatog kao GUI) i dopušta neovisni razvoj.

Model View Voditelj (također poznat kao MVP) je izravna permutacija MVC. Riječ je o softverskom uzorku (konkretnije, uzorku dizajna korisničkog sučelja) koji je posebno dizajniran za pomoć u testiranju automatskih jedinica i poboljšava ono što se naziva razdvajanjem zabrinutosti u logici prezentacije. Razdvajanje zabrinutosti je u osnovi proces kojim se računalni program odvaja u različite značajke koje se ne preklapaju, u smislu kako funkcioniraju.

Model dijela MVC je u biti uzorak koji predstavlja podatke putem određenih domena podataka koji se koriste kako bi aplikacija mogla funkcionirati. Prikazni dio pretvara model u interakciju pogodnu za korisnike - to je obično element korisničkog sučelja. Konačno, kontrolni dio najbolje odgovara ulazu. Donošenjem odluka za objekte pronađene u modelu, kontrolor služi kao katalizator za odgovor.

Dio modela MVP-a definira podatke koji će biti prikazani (ili djelovali) na korisničkom sučelju. Prikazni dio prikazuje podatke definirane u modelu i šalje korisničke naredbe (poznate kao događaji) voditelju (tko će djelovati na tim podacima). Voditelj, dakle, djeluje na modelu i pogledu modela. Kao takav, on može dohvaćati podatke iz spremišta (pronađenih u modelu), nastavljajući ih i oblikuje, kako bi se lako mogao prikazati u prikazu.

Postoje različite inačice MVC-a. Kao takav, protok kontrole je u vrlo strogom redoslijedu: Prvo, korisnik će komunicirati s sučeljem (na primjer, pritiskom na gumb na mišu), a zatim kontrolor vodi brigu o ulaznom događaju i mijenja ga u odgovarajuće korisničke radnje. Nadalje, kontrolor obavještava model onoga što je korisnik učinio, što će najvjerojatnije rezultirati modelom koji mijenja stanje (primjerice, ažuriranje). Pogled zatim postavlja pitanje modelu za generiranje korisničkog sučelja. Konačno, korisničko sučelje čeka upute koje će ponovno pokrenuti ciklus.

Sažetak:

1. MVC je arhitektonski uzorak koji izolira logiku domena; MVP je potomak MVC-a koji je osmišljen kako bi pomogao u testiranju automatskih jedinica i poboljšanju razdvajanja zabrinutosti.

2. Što se tiče MVC-a, model predstavlja podatke, pogled mijenja model u user-friendly interakciju, a kontrolor prima ulaz; u odnosu na MVP, model definira podatke, pogled ga prikazuje, a prezentator djeluje na model i njegov pogled.