ASP.NET MVC-zelfstudie voor beginners: wat is, Architectuur
⚡ Slimme samenvatting
ASP.NET MVC is een open source framework. Microsoft Een framework dat een webapplicatie opsplitst in model-, view- en controllerlagen, waardoor ontwikkelaars volledige controle krijgen over HTML, testbare code, overzichtelijke routing en een lichtgewicht alternatief voor klassieke webformulieren.
Wat is ASP.NET MVC?
ASP.NET MVC is een open source webontwikkelingsframework van Microsoft ASP.NET MVC biedt een Model-View-Controller-architectuur. Het is een alternatief voor ASP.NET Web Forms voor het bouwen van webapplicaties. Het maakt deel uit van het .NET-platform voor het bouwen, implementeren en uitvoeren van webapps. Je kunt webapps en websites ontwikkelen met behulp van HTML, CSS, jQuery, JavaScript, enz.
Leer MVC met deze ASP.NET MVC-zelfstudie, die alle basisconcepten van MVC voor beginners behandelt:
Waarom ASP.NET MVC?
Hoewel webformulieren zeer succesvol waren, Microsoft bedacht ontwikkelenping ASP.NET MVC. Het grootste probleem met ASP.NET WebForms is de prestatie.
In een webapplicatieEr zijn vier hoofdaspecten die de prestaties bepalen:
- Problemen met de responstijd
- Probleem van het testen van eenheden
- HTML-aanpassing
- Herbruikbaarheid van de code-behind-klasse
ASP.NET MVC blinkt uit op de bovengenoemde punten.
Versiegeschiedenis van MVC
ASP.NET MVC1
- Uitgebracht op 13 maart 2009
- Het draait op .NET 3.5.
- Visual Studio 2008
- MVC-patroonarchitectuur met WebForm Engine
- Belangrijkste kenmerken omvatten HTML en Testen van een eenheid, Ajax Helpers, Routing, etc.
ASP.NET MVC2
- Deze versie uitgebracht op 10 maart 2010
- Werkt op .NET 3.5, 4.0 en met Microsoft Visual Studio 2008
- Voeg functies toe zoals sjabloongebaseerde helpers, UI-helpers met automatische scaffolding en aanpasbare sjablonen.
- Het ondersteunt DataAnnotations-attributen om modelvalidatie op client- en serverzijde toe te passen
ASP.NET MVC3
- Het werd uitgebracht op 13 januari 2011
- Draait op .NET 4.0 en met Microsoft Visual Studio 2010
- Gebruik van NuGet om software te leveren en stelt u in staat afhankelijkheden op het hele platform te beheren
- Betere JavaScriptondersteuning met jQuery-validatie en JSON-koppeling.
- Het biedt functies zoals de Razor-weergave-engine en verbeterde data-annotatie-attributen voor modelvalidatie aan zowel de client- als de serverzijde.
ASP.NET MVC4
- Deze versie is uitgebracht in augustus 2012
- Het draait op .NET 4.0, 4.5 en met Visual Studio 2010 & Visual Studio 2012
- Verbeteringen aan standaardprojectsjablonen
- Biedt functies zoals een mobiele projectsjabloon met jQuery Mobile, taakondersteuning voor asynchrone controllers, bundeling, minimalisatie, enz.
ASP.NET MVC5
- Uitgebracht op 17 oktober 2013
- Werkt met .NET 4.5, 4.5.1 en Visual Studio 2012 & Visual Studio 2013.
- Ondersteunt attribuutroutering in MVC
Kenmerken van MVC
- Gemakkelijke en wrijvingsloze testbaarheid
- Volledige controle over uw HTML, JavaScript, en URLs
- Maak gebruik van bestaande ASP.NET Kenmerken
- Een nieuwe presentatieoptie voor ASP.NET.
- Een eenvoudigere manier om ASP.NET te programmeren.
- Duidelijke scheiding van logica: model, weergave, controller
- Test gedreven ontwikkeling
- Ondersteuning voor parallelle ontwikkeling
Dingen om te onthouden bij het maken van een MVC-applicatie
Hier zijn een paar nuttige dingen in deze ASP.NET MVC-tutorial die u moet onthouden voor het maken van een MVC-toepassing:
- Je moet onthouden dat ASP.NET MVC GEEN vervanging is voor op ASP.NET webformulieren gebaseerde applicaties.
- De aanpak voor MVC-applicatieontwikkeling moet worden bepaald op basis van de applicatievereisten en de functies die ASP.NET MVC biedt, om zo aan de specifieke ontwikkelingsbehoeften te voldoen.
- Het applicatieontwikkelingsproces met ASP.NET MVC is complexer dan dat van applicaties die gebaseerd zijn op webformulieren.
- De onderhoudbaarheid van applicaties is altijd hoger met scheiding van applicatietaken.
MVC architectonisch patroon
MVC is een softwarearchitectuurpatroon dat de methode van scheiding van verantwoordelijkheden volgt. In dit model zijn .NET-applicaties verdeeld in drie onderling verbonden onderdelen: Model, View en Controller.
Het doel van het MVC-patroon is dat elk van deze onderdelen relatief geïsoleerd kan worden ontwikkeld, getest en ook kan worden gecombineerd om een zeer robuuste applicatie te creëren.
Laten we ze allemaal eens nader bekijken:
Modellen
Modelobjecten zijn delen van de applicatie die de logica voor de applicatie implementeren gegevens domein. Het haalt de modelstatus op en slaat deze op in een database. Een productobject kan bijvoorbeeld informatie ophalen uit een databank, ermee werken. Schrijf vervolgens informatie terug naar de products-tabel in de SQL-server.
Weergaves
Views zijn de componenten die worden gebruikt om de gebruikersinterface (UI) van de applicatie weer te geven, ook wel viewmodel genoemd in MVC. Het toont de .NET MVC-applicatie zoals die is opgebouwd uit de modelgegevens.
Het meest voorkomende voorbeeld is een bewerkingsweergave van een Item-tabel. Het toont tekstvakken, pop-ups en selectievakjes op basis van de huidige status van producten en objecten.
Controller
Controllers verwerken gebruikersinteractie, werken met het model en selecteren een view om de gebruikersinterface weer te geven. In een .NET MVC-applicatie toont de view alleen informatie; de controller beheert en reageert op gebruikersinvoer en -interactie met behulp van actiefilters in MVC.
De controller beheert bijvoorbeeld querytekenreekswaarden en geeft deze waarden door aan het model.
Webformulieren versus MVC
| Kenmerken | Webformulieren | MVC |
|---|---|---|
| Model | ASP.NET Web Forms volgt een gebeurtenisgestuurd ontwikkelingsmodel. | ASP.NET MVC maakt gebruik van het op het MVC-patroon gebaseerde ontwikkelingsmodel. |
| Gebruikt sinds | Bestaat al sinds 2002 | Het werd voor het eerst uitgebracht in 2009 |
| Ondersteuning voor weergavestatus | ASP.NET Web Forms ondersteunt view state voor statusbeheer aan de clientzijde. | .NET MVC biedt geen ondersteuning voor view state. |
| URL type dan: | ASP.NET Web Forms maakt gebruik van bestandsgebaseerde functionaliteit. URLs. Dit betekent dat de bestandsnaam bestaat in de URLen ze moeten fysiek bestaan. | ASP.NET MVC heeft routegebaseerde architectuur. URLs dat betekent URLdie worden doorgestuurd naar controllers en acties. |
| Syntaxis | ASP.NET Web Forms volgen de Web Forms-syntaxis. | ASP.NET MVC maakt gebruik van een aanpasbare syntaxis. |
| Weergavetype | Webformulieren en weergaven zijn nauw met elkaar verbonden. Code achter (ASPX-CS), d.w.z. logica. | MVC, Views en logica worden altijd gescheiden gehouden. |
| Een consistente uitstraling en gevoel. | Het heeft basispagina's voor een consistent uiterlijk. | ASP.NET MVC maakt gebruik van lay-outs voor een consistente uitstraling. |
| Code Herbruikbaarheid | Webformulier biedt gebruikerscontroles voor herbruikbaarheid van code. | ASP.NET MVC biedt gedeeltelijke weergaven voor hergebruik van code. |
| Controle voor HTML | Less controle over weergegeven HTML. | Volledige controle over HTML |
| Staatsbeheer | Automatisch statusbeheer van controles. | Handmatig statusbeheer. |
| TDD-ondersteuning | Zwakke of aangepaste TDD vereist. | Stimuleert en integreert TDD. |
Voordelen van ASP.NET MVC
- Standaard zeer onderhoudbare applicaties
- Hiermee kunt u elk onderdeel van de applicatie vervangen.
- Betere ondersteuning voor Test Driven Development
- Complexe applicaties zijn eenvoudig te beheren dankzij de indeling in Model, View en Controllers.
- Biedt een robuust routeringsmechanisme met controllerpatroon aan de voorkant
- Biedt betere controle over het gedrag van applicaties door de eliminatie van weergavestatus en servergebaseerde formulieren
- .NET MVC-applicaties worden ondersteund door grote teams van ontwikkelaars en webdesigners.
- Het biedt meer controle over het gedrag van de applicatie. Het maakt ook gebruik van een geoptimaliseerde bandbreedte voor verzoeken aan de server
Nadelen van ASP.NET MVC
- Je kunt geen voorbeeld van de ontwerppagina zien, zoals bij een .aspx-pagina.
- Je moet het programma elke keer uitvoeren om het daadwerkelijke ontwerp te kunnen zien.
- Het kan een uitdaging zijn om de stroom van de applicatie te begrijpen
- Het is vrij ingewikkeld om te implementeren, dus het is geen ideale optie voor toepassingen op klein niveau
- Het is moeilijk om MVC voor ASP.NET te leren, omdat het een goed begrip van het MVC-patroon vereist
Aanbevelingen voor het gebruik van ASP.NET MVC
- Maak een aparte assembly voor MODEL in geval van grote en complexe code om ongewenste situaties te voorkomen.
- Het model moet bedrijfslogica, sessieonderhoud, validatiegedeelte en datalogicagedeelte omvatten.
- VIEW mag geen bedrijfslogica en sessieonderhoud bevatten. Gebruik ViewData om toegang te krijgen tot gegevens in View
- Bedrijfslogica en gegevenstoegang mogen nooit in de controller plaatsvinden.
- De verwerkingsverantwoordelijke mag alleen verantwoordelijk zijn voor het voorbereiden en retourneren van een weergave, het aanroepen van het model, het doorverwijzen naar actie, enz.
- Verwijder de democode uit de applicatie wanneer je deze aanmaakt (Verwijder AccountController).
- Gebruik alleen een specifieke weergave-engine om HTML-opmaak vanuit uw weergave te maken, aangezien dit de combinatie is van HTML en de programmeercode.


