– Szia Amigo!

– Szia, Bilaabo!

"Te már jó programozó vagy. Szóval, ma az MVC-ről tartunk egy leckét."

"Az MVC a ModelViewController 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:

MVC - 1

"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:"

Link a kiegészítő anyagokhoz