– Szia Amigo!
– Szia, Bilaabo!
"Te már jó programozó vagy. Szóval, ma az MVC-ről tartunk egy leckét."
"Az MVC a Model — View — Controller rövidítése . Ez egy építészeti tervezési minta nagy alkalmazásokhoz, ahol az alkalmazás három részre van osztva."
"Az első rész tartalmazza az alkalmazás összes üzleti logikáját . Ezt a részt modellnek hívják . Ez tartalmazza azt a kódot, amely mindent megtesz, amire az alkalmazás készült. Ez a rész függ a legkevésbé a többitől."
"A második rész mindent tartalmaz, ami az adatok felhasználó számára történő megjelenítésével kapcsolatos . Ezt a részt nézetnek nevezik . Ez tartalmazza az ablakok, oldalak, üzenetek stb. megjelenítését vezérlő kódot."
"A harmadik rész tartalmazza a felhasználói műveleteket feldolgozó kódot . A modell megváltoztatására szánt felhasználói műveleteket itt kell kezelni. Ezt a részt Controllernek hívják ."
"Ez a megközelítés lehetővé teszi három dolog önálló létrehozását: a program logikáját (a modellt) , a program adatainak a felhasználó számára történő megjelenítésének mechanizmusát (a nézetet) és a felhasználói bevitel/műveletek kezelőjét (a vezérlő) ."
"Az alkalmazásoknak gyakran több nézetük van . Ez normális. Az Excelben pontosan ugyanazokat az adatokat tekintheti meg számokként és diagramokként is. A játékokban az eseményeket első személyű, harmadik személyű vagy térképnézetben tekintheti meg, valamint sok mást is. . Mindezek különböző nézetek egyetlen modellhez .
"Az összes kód, amely eldönti, hogy mit kell módosítani a modellben a felhasználói műveletekre válaszul, a Controllerben gyűjtődik össze . Például, ha a felhasználó úgy dönt, hogy bezárja a programot, akkor a modell adatait egy lemezen lévő fájlba kell mentenie. Vagy ha a felhasználó új adatot ad meg, akkor azt hozzá kell adni a modellhez. A modell ekkor minden nézetet értesít az adatváltozásokról, így azok csak az adatok aktuális állapotát jelenítik meg."
"Mondd újra."
"Egy Java fejlesztő szemszögéből azt mondhatnánk, hogy a modell, a nézet és a vezérlő három osztálycsoport, ahol:
" a) minden résznek megvan a maga célja;"
" b) egy csoport osztályai közötti kapcsolatok nagyon erősek;"
" c) a csoportok közötti kapcsolatok nagyon gyengék;"
" d) a részek egymással való kommunikációjának módja erősen szabályozott."
"És itt van egy másik módja annak, hogy elképzelje:

"A modell a rendszer legfüggetlenebb része . Nem függ a nézettől vagy a vezérlőtől. A modell nem használhat osztályokat a nézetből vagy a vezérlőcsoportokból(!)."
"A nézet elsődleges korlátja , hogy nem módosíthatja a modellt . A nézetosztályok hozzáférhetnek a modellhez adatokhoz vagy feliratkozáshoz az eseményekre, de a nézetosztályok nem módosíthatják a modellt."
"A vezérlő elsődleges korlátja, hogy nem jelenít meg adatokat . A vezérlő feldolgozza a felhasználói műveleteket, és ennek megfelelően módosítja a modellt."
– De miért kell ez nekem?
"Az a tény, hogy jelenleg nem használja ezt, nem jelenti azt, hogy a közeljövőben nem fogja használni. Itt tanul, hogy munkát találjon. És még ha ez a tudás nem is bizonyul hasznosnak, amíg tanulni, munka közben biztosan jól jön."
"Elvégre valódi projektek és interjúk várnak rád..."
– Most itt beszélgetünk, de talán egy hónap múlva már dolgozni fogsz.
– Teljesen igazad van, Bilaabo. Gondosan meghallgatlak.
"Az MVC minta nagyon gyakori az alkalmazásarchitektúrában. Ismernie kell, hogy ne kezdjen hirtelen nézetosztályokat hozzáadni a modellhez, mert kényelmesebbnek találja azt."
"Minden projektben a legfontosabb az architektúrája. Ebben a szakaszban nem annyira az a feladata, hogy jó architektúrát tudjon létrehozni, hanem az, hogy megtanulja megérteni valaki másét. Még mindig fejlődnie kell egy pár évvel, mielőtt létrehoznád a sajátodat. De meg kell értened, hogy mások mit hoztak létre. Azonnal."
"Ha egy alkalmazás szabványos architektúrát használ, minden sokkal világosabbá válik. Az architektúra ismeretében tudja, hol vannak a dolgok, hogyan működik minden, nagyjából hogyan működik a program, hová kell hozzáadni a szükséges osztályt, és hol keresheti a probléma okát. egy bogár."
"De ha nem ismeri az építészet standard megközelítéseit, akkor még a legjobb építészet sem mond semmit. Olyan leszel, mint egy középkori paraszt, aki egy új autót néz. Egy szabványos autót."
– Értem. Köszönöm az érdekes leckét, Bilaabo.
"Végül itt egy jó link, amit mindenképpen érdemes megnézned:"
GO TO FULL VERSION