Skip to main content

Mi a modell-nézet-vezérlő?

A Model-View-Controller (MVC) egy olyan típusú szoftver-architektúra és tervezési minta, amely a program minden elemét a funkcionalitás jól definiált területeire szegmentálja.A Model-View-Controller architektúrában a modell az összes belső program logikájával foglalkozik, amely manipulálja, menti, visszakeresése és egyébként kezelje és kiszámítja az adatokat.A nézet szempontja felelős az információk megjelenítéséért a felhasználó modelljéből, és lehetőséget kínál a felhasználó számára is, hogy bemutassa a programot.A vezérlő bemenetet vesz a nézetből, felméri vagy egyéb módon feldolgozza azt, és kölcsönhatásba lép a modellel az adatok vagy a program állapotának megváltoztatásához, amely végül a felhasználó számára megjelenik a nézet során.Noha a Model-Viewer-Controller Design egy programot igényel a funkcionalitás beágyazásához, a három szakasznak továbbra is valamilyen módon kölcsönhatásba kell lépniük, és általában bizonyos értelemben egymástól függnek, ellentétben más agresszívebb tervezési mintákkal.A modell-nézet-vezérlő mintát gyakran olyan alkalmazásokban látják, amelyek grafikus felhasználói felületet (GUI) kezelnek.Az MVC mintázat felhasználásával a GUI különféle vizuális elemeit a View kezeli, a vezérlő által és a felhasználó kattintásainak rögzítését és feldolgozását, és az információk vagy a betöltési információk tényleges megváltoztatása a modell végzi.Az alkalmazás pontos kialakításától függően az MVC mintázat minden összetevőjének mechanizmusa is lehet a többi komponenssel való kölcsönhatáshoz, például a modell, amely közvetlenül képes arra, hogy a képernyő frissítse a nézetet, vagy a nézet, amelynek módja van annak, hogy megmondja avezérlő, hogy frissíti a képernyőt, és ne fogadjon el új bemenetet.Néhány olyan tervezési mintával ellentétben, amely szigorú fekete-doboz megközelítést alkalmaz, a modell-néző-vezérlő programok általában kissé rugalmasabbak, bár egyes megvalósítások megnehezíthetik az MVC programot, hogy megnehezítsék a módosulást vagy hibakeresést.

Bizonyos esetekben a modell-A View-Controller mintázatnak nem kell csak az egyes összetevők egyikét tartalmaznia.Az egyik példa egy olyan alkalmazás, amelynek több nézete van, például több monitor, vagy egy olyan kijelző, amely több kliens eszközön látható.Több nézet és vezérlő használható egy olyan alkalmazásban, amely lehetővé teszi sok felhasználó számára az adatbázis elérését, mindegyik egyetlen modellre válaszolva.Gyakoribb azonban a tervezési rendszerek, amelyek fenntartják a modell-néző-vezérlő összetevők egy-egy arányát.Az MVC mintát használó rendszer bizonyos részeinek módosításához, mint ha egyáltalán nem használnának mintát, különösen nem objektum-orientált alkalmazások esetén.Ha egy alkalmazás visszahívásokat vagy hallgatókat és megfigyelőket használ az összetevők közötti interakciók végrehajtására, akkor az egyes összetevők megváltoztathatók anélkül, hogy a másik kettőt befolyásolnák.Ez azt jelenti, hogy egy új GUI -t lehet megvalósítani a modell vagy a vezérlő befolyásolása nélkül.Meg kell azonban jegyezni, hogy a modell-nézet-vezérlő rendszer alapvető változásaihoz minden egyes összetevőhöz kis mennyiségű újbóli kódolást igényelhet.