Gyakorlati alapok II.
A szoftverfejlesztés
Az MVC-modell
Az alábbi fejezet részben Sallay András informatikatanár oktatási anyagára támaszkodik (www.szit.hu)
Ha visszatekintünk a Honlaptérkép alapján oktatási honlapom belső szerkezetére, akkor észrevehetjük a mögötte meghúzódó logikát:
Gyakorlati alapok I. - minden a main() főprogramban, azaz a kódok funkcionálisan nincsenek egymástól szétválasztva,
Gyakorlati alapok II. - külön eljárás + külön függvény, azaz a kódok már funkcionálisan szét vannak egymástól választva, legalábbis a fejezetcsomag fokozatosan erre tanít meg,
Gyakorlati alapok III. - a kódok funkcionálisan szétválasztva már nagyobb logikai egységekbe, osztályokba tömörülnek, ezáltal a kódműködés (legtöbbször) már osztályok közti kölcsönhatások eredménye.
Az MVC-modell ugyanezt a funkcionális elkülönítést követi, miszerint tehát adott 3 komponens, ezek lehetnek logikai és fizikai elrendezés szerint is különálló, gondosan elkülönített osztályok, szoftverrétegek, szoftverkomponensek, akár különböző programozási nyelveken megírva, sőt különálló hardveregységeken futtatva, stb:
modell (model) - az információ eléréséért, kezeléséért, tartományszintű menedzseléséért felel,
nézet (view) - feladata a modell által menedzselt információ (vagy tartalom) megjelenítése, tipikusan a felhasználóval történő kommunikáció közben (magasabb szintű kódban nézetből többféle is lehet ugyanarra a modellre),
kontroller (controller) - egybefogja és kontroll alatt tartja a modellt és a nézetet, feldolgozza a felhasználói beavatkozásokat, irányítja az információ belső, szoftveres áramlását.
Forrás - Source: helloacm.com
Természetesen az összes előny, amely felsorolható a funkcionális elkülönítés alkalmazásakor, azzal rendelkezik az MVC-modell is:
a funkciók egymástól logikailag szétválasztva, de rendezetten és szabályozottan működnek,
a funkciók emiatt könnyű menedzselhetőek, karbantarthatóak,
csökken a szerkezeti bonyolultság,
rugalmasság,
gyors átszabhatóság.