Zephyrnet-logo

Een gids voor MVC-architectuur in 2022

Datum:

MVC, Model-view-controller. Concept met trefwoorden, mensen en pictogrammen. Platte vectorillustratie. Geïsoleerd op een witte achtergrond.

Introductie 

In dit artikel gaan we veel belangrijke aspecten van MVC-architectuur behandelen. U zult de grondbeginselen en de voordelen ervan leren kennen ten opzichte van de traditionele aanpak. 

Wat is MVC?

MVC, of ​​Model-View-Controller, is een architectonisch patroon dat wordt gebruikt in software-engineering. Het wordt meestal gebruikt in webapplicaties en is een manier om zorgen of functionaliteit te scheiden in verschillende delen van een applicatie. MVC bestaat uit drie delen: het model, de weergave en de controller. Het model is de gegevens, de weergave is de manier waarop de gegevens worden gepresenteerd en de controller is de code die interageert met het model en de weergave. MVC is een manier om code zo te organiseren dat het gemakkelijker te onderhouden en uit te breiden is. Het is ook een manier om ervoor te zorgen dat de verschillende onderdelen van een applicatie onafhankelijk van elkaar zijn, zodat wijzigingen aan het ene onderdeel geen invloed hebben op de andere. MVC is een populair architectonisch patroon en wordt door veel frameworks gebruikt, zoals Ruby on Rails en ASP.NET MVC.

Als we kijken naar het werkpatroon van de traditionele programmeerbenadering, zullen we het als volgt vinden:

Invoer -> Proces -> Uitvoer 

Terwijl het werkpatroon van MVC als volgt is:

Regelaar → Model -> Bekijken

In de traditionele programmeerbenadering werden de UI-codering, bedrijfslogica en het applicatiegegevensdomein in een enkel bestand geschreven, wat resulteerde in een gebrek aan onderhoudbaarheid, schaalbaarheid van de applicatie en testbaarheid. 

De MVC kwam naar voren als een probleemoplosser en bood hulp om applicaties zo te maken dat het mogelijk was geweest om de verschillende aspecten van de applicatie te scheiden, zoals de UI-codering, bedrijfslogica en het applicatiedatadomein. Om de verschillende aspecten van de toepassing van elkaar te scheiden, is tussen deze elementen een losse koppeling aangebracht.

Het patroon wordt gebruikt om de locatie voor elk soort logica in de toepassing op te geven. Door de scheiding hoort de UI-logica in de view, de inputlogica in de controller en de businesslogica in het model. Met behulp van deze scheiding wordt complexiteit tijdens het bouwen van een applicatie effectief beheerd door de programmeurs, omdat het de programmeur in staat stelt zich te concentreren op één aspect van de implementatie tegelijk. 

Zo kunnen de programmeurs hun volledige focus op de weergave hebben zonder afhankelijk te zijn van de bedrijfslogica.

Streven

De MVC-architectuur is ontworpen om de bedrijfslogica en applicatiegegevens te scheiden van de gebruikersinterface (UI).

Ontwikkeling 

Het was een briljante poging van Trygve Mikkjel Heyerdahl Reenskaug, een Noorse computerwetenschapper en emeritus hoogleraar van de Universiteit van Oslo, dat de formulering van het model-view-controller-patroon voor het ontwerpen van grafische gebruikersinterfacesoftware mogelijk zou kunnen zijn in 1979 tijdens een bezoek aan de Xerox Palo Alto onderzoekscentrum.

Het werd uitgevonden om een ​​probleem in de scheepsbouwindustrie in Noorwegen op te lossen.

MVC is gemaakt als een algemene oplossing voor de uitdagingen waarmee de gebruikers worden geconfronteerd, terwijl het een enorme en complexe dataset beheert.

Aanvankelijk heette het Model-View-Editor. Na lange discussies en rekening houdend met vele factoren, werd het uiteindelijk Model-View-Controller genoemd.

versies

  • 10 december 2007

ASP.NET MVC CTP (initieel)

  • 13 maart 2009

ASP.NET MVC 1.0

  • 16 december 2009

ASP.NET MVC 2 RC

  • 4 februari 2010

ASP.NET MVC 2 RC 2

  • 10 maart 2010

ASP.NET MVC 2

  • 6 oktober 2010

ASP.NET MVC 3 bèta

  • 9 november 2010

ASP.NET MVC 3 RC

  • 10 december 2010

ASP.NET MVC 3 RC 2

  • 13 januari 2011

ASP.NET MVC 3

  • 20 september 2011

ASP.NET MVC 4 

Developer preview

  • 15 februari 2012

ASP.NET MVC 4 bèta

  • 31 mei 2012

ASP.NET MVC 4 RC

  • 15 augustus 2012

ASP.NET MVC 4

  • 30 mei 2013

ASP.NET MVC 4 4.0.30506.0

  • 26 juni 2013

ASP.NET MVC 5-voorbeeld

  • 23 augustus 2013

ASP.NET MVC 5 RC 1

  • 17 oktober 2013

ASP.NET MVC 5

  • 17 januari 2014

ASP.NET MVC 5.1

  • 10 februari 2014

ASP.NET MVC 5.1.1

  • 4 april 2014

ASP.NET MVC 5.1.2

  • 22 juni 2014

ASP.NET MVC 5.1.3

  • 1 juli 2014

ASP.NET MVC 5.2.0

  • 28 augustus 2014

ASP.NET MVC 5.2.2

  • 9 februari 2015

ASP.NET MVC 5.2.3

  • 12 februari 2018

ASP.NET MVC 5.2.4

  • 2 mei 2018

ASP.NET MVC 5.2.5

  • 11 mei 2018

ASP.NET MVC 5.2.6

  • 29 november 2018

ASP.NET MVC 5.2.7

  • 12 april 2022

ASP.NET MVC 5.2.8 (huidig)

Wat is ASP.NET?

ASP.NET is voornamelijk een server-side technologie die wordt gebruikt voor het maken en ontwikkelen van dynamische websites en webapplicaties. Deze nieuwste versie van Active Server Pages is ontwikkeld door Microsoft voor het bouwen van dynamische applicaties. De eerste versie van ASP.NET werd uitgebracht in 2002. Met behulp van ASP.NET kunnen datagestuurde en interactieve webapplicaties op internet worden geproduceerd.

Wat is ASP.NET MVC?

ASP.NET MVC kan worden gedefinieerd als open-source software die wordt gebruikt voor de ontwikkeling van dynamische websites en applicaties op de . Net framework met de combinatie van de functies van MVC. 

MVC is een type patroon dat wordt gebruikt voor het ontwerpen van gebruikersinterfaces, applicatielogica en gegevens om scheiding van applicaties te bereiken.

De functie van MVC is om applicaties te scheiden in drie groepen Model, View en Controller, om de complexiteit te verminderen en de applicaties haalbaarder te maken bij het coderen, debuggen en testen.

Microsoft bracht in 2007 de eerste versie van ASP.NET MVC uit met de bestaande ASP.NET-functies.

MVC-concept

De MVC is gebaseerd op de volgende concepten: 

1. Model

  • De functie van het Model-object is om alle gegevens weer te geven. 
  • Het model wordt gebruikt om de applicatiegegevens en bedrijfsregels weer te geven die nodig zijn om een ​​update van gegevens te regelen.
  • Model niet op de hoogte van de presentatie van gegevens en van het patroon om de gegevens aan de browser weer te geven.

2. Bekijk

  • De functie van het View Model is om alleen die eigenschappen vast te houden die nodig zijn voor een view. 
  • Eigenschappen van meer dan één entiteit (tabellen) van de database zijn ook opgenomen in het View Model. 
  • Aan de naam kan worden geraden dat het speciaal is gemaakt voor het View-doel.

3. Controller

  • De controller is het eerste punt waar een door een gebruiker verzonden verzoek wordt doorgegeven.
  • De verantwoordelijkheid van een verwerkingsverantwoordelijke is om het verzoek van View te onderscheppen en het verzoek vervolgens door te geven aan het model voor een bepaalde actie.
  • Nadat de actie op de gegevens is voltooid, is het de verantwoordelijkheid van de Verantwoordelijke om de juiste View rechtstreeks aan de gebruiker door te geven.
  • Zowel Controller als View werken nauw samen in GUI (grafische gebruikersinterface).

Voordelen van MVC 

1. Grote webapplicaties organiseren

Vanwege de scheiding van de code tussen drie niveaus, kan de logica van webapplicaties eenvoudig worden opgedeeld en georganiseerd in grootschalige applicaties (die meestal door grote teams van ontwikkelaars moeten worden beheerd). Het gebruik van dergelijke codepraktijken kan grote voordelen opleveren, omdat hiermee bepaalde delen van de code snel kunnen worden gevonden en nieuwe functionaliteit eenvoudig kan worden toegevoegd.

2. Biedt ondersteuning voor Asynchronous Method Invocation (AMI)

Een belangrijke factor van de MVC-architectuur is dat deze goed coördineert met JavaScript en zijn framework, en dit is de reden dat het ook het gebruik van Asynchronous Method Invocation (AMI) ondersteunt, waarmee ontwikkelaars sneller ladende webapplicaties kunnen bouwen. Daarom kunnen MVC-applicaties worden ontwikkeld om zelfs met PDF-bestanden, site-specifieke browsers en bovendien ook voor desktop-widgets te werken.

3. Gemakkelijk te wijzigen

Met behulp van de MVC-methodiek kan de gehele applicatie eenvoudig worden aangepast.

Het toevoegen en bijwerken van het nieuwe type weergaven kan eenvoudig in het MVC-patroon, omdat een enkele sectie niet afhankelijk is van de andere secties. Dus als er een wijziging is in een bepaalde sectie, wordt de hele architectuur niet beïnvloed. Hierdoor wordt de flexibiliteit en schaalbaarheid van de applicatie vergroot.

4. Sneller ontwikkelingsproces 

Scheiding van de code tussen de drie niveaus kan worden uitgevoerd in MVC-architectuur, dus tijdens het ontwikkelen van webapplicaties met behulp van het MVC-model, kan de ene ontwikkelaar aan een bepaalde sectie werken, bijvoorbeeld View, en een andere kan aan een andere sectie werken, nemen Controller bijvoorbeeld, en dat kan allemaal tegelijk. Dit helpt bij de eenvoudige implementatie van bedrijfslogica en versnelling van het ontwikkelingsproces. 

Het valt op dat de ontwikkelsnelheid van de MVC-architectuur ongeveer drie keer hoger is dan die van de andere ontwikkelmodellen.

5. Eenvoudig te plannen en te onderhouden 

Tijdens de initiële planningsfase van de applicatie is het MVC-model erg handig omdat het de ontwikkelaar een overzicht geeft, waarmee de ontwikkelaar zijn ideeën effectief in daadwerkelijke code kan ordenen. Met behulp van deze effectieve tool kan de duplicatie van code worden gecontroleerd en kan het onderhoud van de applicatie eenvoudig worden uitgevoerd.

6. Retourneert gegevens zonder opmaak

Het retourneert niet-geformatteerde gegevens en dit stelt de programmeurs in staat om hun weergave-engine te maken.

Om bijvoorbeeld elk type gegevens te formatteren, wordt HTML gebruikt, maar met behulp van het MVC-framework kan een programmeur ook Macromedia Flash of Dreamviewer gebruiken voor het formatteren van de gegevens. Met deze hulp kunnen de ontwikkelaars dezelfde componenten hergebruiken met elke interface.

7. Biedt Ondersteuning voor TTD (testgestuurde ontwikkeling) 

MVC-patroon vereenvoudigt het testproces aanzienlijk. In MVC-architectuur is het eenvoudig om grootschalige applicaties te debuggen omdat meerdere niveaus structureel zijn gedefinieerd en correct in de applicatie zijn geschreven. Dit zorgt voor een probleemloze omgeving voor het ontwikkelen van een applicatie met unit tests.

8. Meerdere weergaven 

De MVC-architectuur helpt bij het ontwikkelen van verschillende weergavecomponenten voor de modelcomponent. Het stelt de programmeurs in staat om verschillende weergavecomponenten te ontwikkelen, waardoor codeduplicatie wordt verminderd door gegevens en bedrijfslogica te scheiden.

9. SEO-vriendelijk platform 

Het MVC-platform biedt goede ondersteuning bij de ontwikkeling van SEO-vriendelijke webapplicaties. 

MVC biedt een eenvoudige benadering voor het maken van SEO-vriendelijke RESTful URL's om het aantal bezoekers van een specifieke applicatie te vergroten.

Nadelen van MVC-patroon

De nadelen van de MVC-architectuur zijn niet zo groot en kunnen gemakkelijk worden genegeerd in vergelijking met alle voordelen die het biedt.

De nadelen zijn als volgt:

1. Ingewikkeldheid

Nieuwe niveaus van indirectheid geïntroduceerd door de MVC-architectuur verhogen de complexiteit van de oplossing.

Het gebeurtenisgestuurde karakter van de gebruikersinterfacecode neemt ook toe, wat moeilijker te debuggen is.

2. Kosten van frequente updates

Ontwikkelaars kunnen het perspectief van het model niet volledig negeren, zelfs als ze ontkoppeld zijn.

Als het model regelmatig wordt bijgewerkt, kunnen de weergaven worden overspoeld met updateverzoeken.

Het kan even duren voordat weergaven zoals grafische weergaven worden weergegeven, waardoor de weergave mogelijk vertraging oploopt bij het reageren op updateverzoeken.

3. Niet geschikt voor kleine toepassingen

Het is niet geschikt voor kleine applicaties en hierdoor ontstaat er een nadelig effect op de performance en het ontwerp van de applicatie.

4. Geïsoleerde ontwikkelprocessen

Voor de ontwikkeling van modules gebruiken UI-auteurs, auteurs van bedrijfslogica en controller-auteurs geïsoleerde ontwikkelingsprocessen, die vertragingen in de ontwikkeling van hun respectievelijke modules kunnen veroorzaken.

Een lijst met enkele populaire MVC-frameworks is als volgt:

  • Ruby on Rails
  • Django
  • CakePHP
  • Yii
  • cherrypy
  • Lente MVC
  • Catalyst
  • Rails
  • Zend Framework
  • CodeIgniter
  • Laravel
  • Brandstof PHP
  • Symfonie

Praktisch voorbeeld van MVC-framework in het dagelijks leven

We komen veel voorbeelden van MVC tegen in ons dagelijks leven, maar kunnen er geen aandacht aan besteden vanwege het gebrek aan bewustzijn over MVC. 

Laten we dit eenvoudig begrijpen. Als we naar een café gaan en mocktails bestellen bij de ober, geeft de ober deze bestelling door aan de barman, en de barman haalt de benodigde flessen uit de koelkast voor de bereiding; als de mocktails klaar zijn, geeft hij ze aan de ober, en de ober overhandigt het aan ons. 

Probeer nu al deze bij de inkoop gevolgde sequenties te relateren aan het werkpatroon van MVC. We zullen zien dat we hier zijn als een Bekijk, de ober is een Controller, de barman is een model, en de koelkast is een Data.

Wij, de View in het voorbeeld, kunnen niet rechtstreeks communiceren met de 'barman', dat is de... Model in dit geval. De ober van de controller weet niet hoe hij onze bestelling moet verwerken; hij heeft net deze bestelling gedeeld met de barman, wie is de? Model in dit geval. Alleen de barman, die is een? model, kan toegang krijgen tot de Data dat is in dit geval een koelkast.

Conclusie 

Hiermee zijn we aan het einde van dit artikel gekomen. In dit artikel hebben we geprobeerd u inzicht te geven in veel belangrijke aspecten van MVC-architectuur. We zijn er zeker van dat u na het lezen van dit artikel veel belangrijke feiten over MVC-architectuur in huis zult hebben als kennis. 

Het is een feit dat MVC niet zo gemakkelijk te begrijpen en te leren is. Het is moeilijk, maar we kunnen je verzekeren dat het met passie, bereidheid en toewijding op grote schaal kan worden geleerd.

Als u vragen heeft, kunt u ons schrijven, of u kunt onze website "Greatlearning.com" bezoeken. Ons goed opgeleide, betrokken, toegewijde team staat altijd klaar om u 24*7 te ondersteunen.

spot_img

Laatste intelligentie

spot_img