This article has been localized into Hungarian by the community.
Bevezetés
Az előző fejezetekben mélyebben megismerkedtünk az MVC struktúra C (Controller, vezérlő) és a V (View, nézet) részével, ezért ebben a fejezetben az M (modell) lesz a fókuszban. Azért beszélünk erről utoljára, mert lényegében lehet weboldalt készíteni MVC struktúra alapján modellek nélkül is, bár az egy elég egyszerű oldalt eredményezne.
Mi a modell?
A Kezdeti lépések fejezetben, amikor gyorstalpalóként egy vezérlőt, nézetet és modellt készítettünk, már említettem, hogy a modell dolga az alkalmazás aktuális helyzetének és a működési logikának reprezentálása. Modell bármilyen, a keretrendszerben található típusú objektum lehet. Lehet akár string vagy egyszerű szám is, de ugyanúgy egy összetett osztály példánya, például egy User osztályé ami felhasználókról tárol információt, egy GuestBookEntry objektum ami vendégkönyvhöz tartalmaz bejegyzést, stb. Modell lehet továbbá egy már létező osztály példánya, például valami, amit adatbázisból kapsz vissza, vagy egy külön erre a célra írt osztály.
Az MVC struktúra egyik fontos alapköve a felelősségek szétválasztása. Ezt úgy lehet elérni, hogy minden információ egy kódszekcióba van zárva, aminek köszönhetően minden ilyen szekció moduláris lesz. Ezek a modulok közti kommunikációt aztán szoros irányítás alatt kell tartani. Az MVC struktúrában ez úgy jelenik meg, hogy a nézet és a vezérlő a modellre hagyatkozik, de a modell nem függ a nézettől vagy a vezérlőtől. Emiatt a modelljeid olyan modulok, amelyek akár az MVC keretrendszeren kívül is létezhetnek, például egy asztali alkalmazásban használva. Ennek az az előnye is van, hogy a modellek vizuális reprezentáció nélkül is tesztelhetőek, például egységteszteléssel.
Tehát mint szó volt róla, modell lehet olyan osztály is, ami már egyébként létezik a projektben, vagy egy új osztályt, amit kifejezetten modellnek írsz. Emiatt a modellek az ASP.NET MVC keretrendszerben általában egy "Models" nevű könyvtárban kapnak helyet, vagy a projekten kívülről jönnek, például egy osztálykönyvtárból (class libraryből). Modelleknek nem kell specifikus alaposztályból eredniük - szokványos .NET osztályok. Van persze mód rá, hogy MVC-vel kapcsolatos információkkal gazdagítsd a modell osztályaidat, de erről bővebben később.
Összefoglalás
A modell egy MVC alkalmazásban az alkalmazás aktuális állapotát kell reprezentálja, a működési logika és műveletek mellett. A következő cikkekben mélyebben belevetjük magunkat a modellekkel kapcsolatos tudnivalókba.