MVC privalumai Dauguma žiniatinklio programų, sukurtų procedūrinėmis kalbomis, tokiomis kaip ASP ir PHP, turi pradinį duomenų programavimo hibridiniame sluoksnyje kūrimo šabloną. Pavyzdžiui, užklausos siuntimas tiesiai į duomenų bazę ir jos rodymas HTML paprastai būna greitas, tačiau kadangi duomenų puslapių atskyrimas nėra labai tiesioginis, sunku atspindėti verslo modelio išvaizdą ar modelio pakartotinį naudojimą. Produkto dizaino lankstumas yra labai mažas, todėl sunku patenkinti besikeičiančius vartotojų poreikius. MVC reikalauja programų sluoksniavimo, nors tai reikalauja papildomo darbo, tačiau gaminio struktūra yra aiški, o produkto pritaikymas gali būti geriau atspindėtas modelyje. Visų pirma, turėtų būti keli vaizdai, atitinkantys modelio galimybes. Sparčiai keičiantis vartotojų poreikiams, gali būti keli būdai pasiekti programą. Pavyzdžiui, užsakymo modelyje gali būti užsakymų iš šios sistemos, užsakymų internetu ar užsakymų iš kitų sistemų, tačiau užsakymų apdorojimas yra tas pats, o tai reiškia, kad užsakymų apdorojimas yra tas pats. Pagal MVC dizaino modelį, problemą gali išspręsti vienas užsakymo modelis ir keli vaizdai. Tai sumažina kodo kopijavimą, t. y. sumažina kodo priežiūros kiekį ir yra lengvai prižiūrimas pasikeitus modeliui. Antra, kadangi modelių grąžinti duomenys neturi jokio rodymo formato, šie modeliai taip pat gali būti tiesiogiai taikomi sąsajų naudojimui. Trečia, kadangi programa yra padalinta į tris sluoksnius, kartais vieno iš sluoksnių pakeitimas patenkina taikymo pakeitimą. Norint pakeisti programos veiklos procesą arba veiklos taisykles, reikia pakeisti tik MVC modelio sluoksnį. Valdymo sluoksnio koncepcija taip pat galioja, nes ji sujungia skirtingus modelius ir skirtingus rodinius, kad būtų galima įvykdyti skirtingas užklausas, todėl galima sakyti, kad valdymo sluoksnyje yra vartotojo užklausų leidimų sąvoka. Galiausiai, tai taip pat palengvina programinės įrangos inžinerijos valdymą. Kadangi skirtingi sluoksniai atlieka savo pareigas, kiekvienas skirtingų programų sluoksnis turi tas pačias savybes, o tai padeda generuoti hipervizoriaus kodą naudojant inžineriją ir įrankius. MVC trūkumai MVC trūkumai atsispindi šiais aspektais: (1) padidina sistemos struktūros ir įgyvendinimo sudėtingumą. Paprastoms sąsajoms griežtai laikantis MVC atskirti modelius, rodinius ir valdiklius, padidės struktūros sudėtingumas ir gali būti atlikta per daug atnaujinimo operacijų, o tai sumažins veiklos efektyvumą. (2) view ir valdiklis per glaudus ryšys. Vaizdai ir valdikliai yra atskiros, bet glaudžiai susijusios dalys, o vaizdų naudojimas be valdiklių yra ribotas ir atvirkščiai, o tai neleidžia jų savarankiškai pakartotinai naudoti. (3) peržiūrėti neefektyvią prieigą prie modelio duomenų. Priklausomai nuo modelio veikimo sąsajos, rodinį gali tekti iškviesti kelis kartus, kad gautumėte pakankamai ekrano duomenų. Nereikalinga dažna prieiga prie nepakeistų duomenų taip pat gali pakenkti veiklos rezultatams. (4Šiuo metu MVC architektūros nepalaiko pažangūs sąsajos įrankiai ar konstruktoriai. Šių įrankių pritaikymas MVC poreikiams ir atskirų dalių įrengimas yra didelis, todėl sunku naudoti MVC.
|