"Hallo Amigo!"

"Hallo Bilaabo!"

"Je bent al een goede programmeur. Dus vandaag krijgen we een les over MVC."

"MVC staat voor ModelViewController . Het is een architectonisch ontwerppatroon voor grote toepassingen, waarbij de toepassing in drie delen is opgesplitst."

"Het eerste deel bevat alle bedrijfslogica van de applicatie . Dit deel wordt het model genoemd . Het bevat de code die alles doet waarvoor de applicatie is gemaakt. Dit deel is het minst afhankelijk van de andere."

"Het tweede deel bevat alles wat te maken heeft met het weergeven van gegevens aan de gebruiker . Dit deel wordt de weergave genoemd . Het bevat de code die het weergeven van vensters, pagina's, berichten, enz. regelt."

"Het derde deel bevat de code die gebruikersacties verwerkt . Alle gebruikersacties die bedoeld zijn om het model te wijzigen, moeten hier worden afgehandeld. Dit deel wordt de   Controller genoemd ."

"Met deze aanpak kun je drie dingen onafhankelijk van elkaar creëren:  de programmalogica (het model) , het mechanisme voor het weergeven van de programmagegevens aan de gebruiker (de weergave) en een handler voor gebruikersinvoer/acties (de controller) ."

"Applicaties hebben vaak meerdere weergaven . Dit is normaal. Je kunt exact dezelfde gegevens in Excel bekijken als zowel getallen als diagrammen. In games kun je gebeurtenissen bekijken vanuit een eerste persoons-, derde persoons- of kaartweergave, plus vele andere Dit zijn allemaal verschillende weergaven voor een enkel model ."

"Alle code die bepaalt wat er in het model moet worden gewijzigd als reactie op gebruikersacties, wordt verzameld in de controller . Als de gebruiker bijvoorbeeld besluit het programma te sluiten, moet u de gegevens van het model opslaan in een bestand op schijf. Of als de gebruiker nieuwe gegevens invoert, moet u deze aan het model toevoegen. Het model zal dan alle weergaven op de hoogte stellen van de gegevenswijzigingen, zodat ze alleen de huidige status van de gegevens weergeven."

"Zeg dat nog eens."

"Vanuit het perspectief van een Java-ontwikkelaar zouden we kunnen zeggen dat het model, de weergave en de controller drie groepen klassen zijn waarbij:"

" a)  elk onderdeel heeft zijn eigen doel;"

" b)  de relaties tussen de klassen van een enkele groep zijn erg sterk;"

" c)  de relaties tussen groepen zijn erg zwak;"

" d)  de manieren waarop de onderdelen met elkaar communiceren zijn zwaar gereguleerd."

"En hier is een andere manier om het voor te stellen:

MVC - 1

"Het model is het meest onafhankelijke onderdeel van het systeem . Het hangt niet af van de weergave of de controller. Het model kan geen klassen gebruiken van de weergave- of controllergroepen(!)."

"De primaire beperking van de view is dat het het model niet kan veranderen . View-klassen hebben toegang tot het model voor gegevens of om zich te abonneren op gebeurtenissen, maar view-klassen kunnen het model niet veranderen."

"De primaire beperking van de controller is dat deze geen gegevens weergeeft . De controller verwerkt gebruikersacties en past het model dienovereenkomstig aan."

"Maar waarom heb ik dit nodig?"

“Dat je hier nu geen gebruik van maakt, wil niet zeggen dat je hier in de nabije toekomst geen gebruik van zult maken. Je studeert hier om een ​​baan te krijgen. studeren, komt het zeker van pas tijdens het werken."

"Echte projecten en interviews wachten immers nog op je..."

'We zijn hier nu samen aan het praten, maar misschien ben je over een maand al aan het werk.'

'Je hebt helemaal gelijk, Bilaabo. Ik zal goed naar je luisteren.'

"Het MVC-patroon is heel gebruikelijk in applicatie-architectuur. Je moet het kennen, zodat je niet ineens view-klassen aan het model gaat toevoegen omdat je dat handiger vindt."

"Het belangrijkste in elk project is de architectuur.  Je taak in dit stadium is niet zozeer om een ​​goede architectuur te kunnen creëren, maar om die van iemand anders te leren begrijpen. Je zult nog een tijdje moeten groeien een paar jaar voordat je je eigen ontwerp maakt. Maar je moet meteen begrijpen wat andere mensen hebben gemaakt.'

"Als een applicatie een standaardarchitectuur gebruikt, wordt alles veel overzichtelijker. Door de architectuur te kennen, weet je waar dingen zijn, hoe alles op elkaar inwerkt, hoe het programma ongeveer werkt, waar je een benodigde klasse moet toevoegen en waar je de oorzaak van moet zoeken." een insect."

"Maar als je niet bekend bent met standaardbenaderingen van architectuur, dan zal zelfs de beste architectuur je niets vertellen. Je zult als een boer uit de middeleeuwen zijn die naar een nieuwe auto kijkt. Een standaardauto."

'Ik begrijp het. Bedankt voor de interessante les, Bilaabo.'

"Tot slot is hier een goede link die je zeker moet bekijken:"

Link naar aanvullend materiaal