Dette er grunden til, at MVC er den mest populære tilgang til opbygning af ASP.NET-løsninger

MVC er implementeret i objektorienteret stil og blev oprindeligt opfundet til traditionelle GUI-applikationer. Derfor måtte det kortlægges godt i webapplikationerne.

MVC, som du allerede måske har hørt nu, er forkortelsen for Model, View og Controller-mønster.

  • Model – Model handler om tilstanden for din ansøgning, hvad det handler om. For eksempel, hvis din applikation er et forum, vil modellen have Class :: DBI-objekter til at repræsentere tråde, brugere og indlæg. Modellen beskæftiger sig ikke med HTML eller webservere, hvad den gør, leverer forespørgsel og også måderne til at ændre denne tilstand.
  • Udsigt – Visning handler om repræsentationen af brugergrænsefladen. Du kan have mange visninger i en applikation. Overvej det samme forumeksempel igen. Her vil Views fungere som skabeloner til gengivelse af den fulde tråd inklusive positioneringssiden, login-siden osv.
  • Controller – Brugerhandlingerne på visningen sendes til controlleren. Brugeranmodningerne, efter at de er modtaget af controlleren, vil blive oversat til handlinger. Disse handlinger vises i passende visninger.

Således hjælper MVC-mønsteret dig med at oprette applikationer, der adskiller de forskellige aspekter af applikationen – inputlogik, UI-logik og forretningslogik. Heldigvis giver dette mulighed for en løs kobling mellem de forskellige aspekter af applikationen, så du kan fokusere på et aspekt af applikationen ad gangen. Den løse kobling hjælper også med parallel udvikling, hvilket gør det lettere for flere udviklere at arbejde på et enkelt projekt. For eksempel arbejder en udvikler på View, den anden på controllerens logik og en tredje udvikler på forretningslogikken i modellen.

Det er værd at bemærke, at Microsoft har revideret den ældre version af ASP.NET MVC framework og vedtaget ASP.NET Core MVC. Den nye ramme giver dig enestående fleksibilitet og giver dig et forspring på konkurrence, mens du udvikler avancerede webapplikationer.

Her er andre grunde til, at du skal vælge denne tilgang:

1) Kapacitet på tværs af platforme

Forståeligt, når du udvikler produkter, vil du gerne have, at det løber ud over Windows-platforme som Mac, Linux osv. Udviklingsværktøjet til denne ramme gør det muligt at udvikle applikationer til både Mac og Linux ved hjælp af Visual Studios komponent Visual Studio Code. Udviklere kan let udnytte denne kapacitet på tværs af platforme til at udvikle en applikation til alle applikationer til alle platforme.

2) Hosting uafhængighed mulig gennem denne tilgang

Dette er en anden fordel ved værktøjets understøttelse af funktionalitet på tværs af platforme. Dette gør det muligt for applikationerne at køre på webservere bortset fra Internet Information Services. Dette er den største forskel mellem ASPNET-kerneapplikationsudvikling og ASPNET-applikationsudvikling. Fordi IIS i sidstnævnte var standardserveren.

3) Indbygget støtte til injektion af afhængighed

Denne facilitet var der for andre versioner af ASP.Net MVC, men i ASP.NET Core MVC er Dependency Injection indbygget, hvilket betyder, at den er tilsluttet fra starten. Og dette kan bruges til at understøtte kodningsstrukturen.

4) Fuld kontrol over applikationen

Rammen giver fuld kontrol til udvikleren for at oprette dynamiske websteder, der giver dem fuld kontrol gennem en mønsterbaseret tilgang. Adskillelsen af bekymringer muliggør en smidig udvikling. Funktionen giver også mulighed for testdrevet udviklingsproces, der giver dig mulighed for at oprette sofistikerede applikationer integreret med de nyeste webstandarder. Dette giver dig mulighed for at enhedstest appen i hver fase, hvilket gør udviklingsprocessen hurtig og fleksibel. For at gøre dette er alt hvad du skal gøre, at bruge en kompatibel NET-ramme.

5) Open source-funktionen gør kodning fleksibel

ASP.NET gør det muligt for dig at opretholde modularitet på tværs af projektudviklingsmiljø. Dette fremmer enkel kodning og fleksibilitet til rammekomponenter og biblioteker, når og når det kræves, især under applikationsinstallation.

6) MVC tilføjer disciplin

Disciplin er noget, udviklerne har brug for, mens de skriver og strukturerer kode. Hvis du er tilhænger af princippet “konvention over konfiguration”, fremmer denne tilgang det. I henhold til princippet skal en udvikler kun specificere de ukonventionelle aspekter i applikationen, hvilket gør det lettere at træffe beslutninger uden at miste fleksibilitet. Og det er en vigtig hjælp til at vedligeholde appen og fremme bedre testbarhed.

7) Applikationer med søgbare URL’er

MVC-tilgangen giver omfattende support til ASP.Net-routing, der giver dig mulighed for at udvikle apps integreret med forståelig og søgbar URL. URL’er understøtter URL-navngivningsmønstre, der fungerer godt for både SEO og REST (Representational State Transfer). ASP.NET-routing er en kraftfuld URL-kortlægningskomponent og er meget nyttig til udvikling af dynamiske apps.

Et par ting at bemærke, når du tager denne tilgang:

Flere objekter og klasser

Mens du opretter en MVC-applikation, skal du være opmærksom på, at den vil resultere i flere klasser og objekter sammenlignet med sidebaseret system. Den gode nyhed er, at et MVC-system vil være let at udvide eller tilpasse, da koderne adskilles bedre.

Modellen på MVC fungerer som et ekstra sikkerhedslag

Vær opmærksom på, at modeldelen af mønsteret ikke skal udføre forretningslogik, fordi det ikke er det oprindelige formål med mønsteret. Dette er grunden til, at logikkoden er skrevet i controlleren, oprettelse og manipulation af data udføres inden for controlleren ved hjælp af funktioner. Dette giver en slags sikkerhed, fordi brugeren er fuldstændig opmærksom på modellen og skemaet i databasen.

Du skal vide, hvad der går hvor

Nogle gange kan det være svært at opdele controlleren og modellen, så det ville være ideelt at have så minimal controller som muligt (da det er pligt at oversætte HTTP-anmodninger til modelhandlinger og vælge den rigtige visning).

Konklusion

Komponenterne i rammen kan udskiftes eller tilpasses efter behov. Du kan tilføje din egen motor, URL-routing-politik, handlingsmetodeparameter serialisering osv.

Rammemetoden kommer desuden med følgende funktioner bortset fra at yde support til ASPNET-funktioner – URL-godkendelse, output- og datacaching, formulargodkendelse og Windows-godkendelse, medlemskab og roller, session- og profiltilstandsstyring, sundhedsovervågning, konfigurationssystemet , og mere.

Interessante links om emnet:
Oversigt fra Microsoft om ASP.NET
MVC, Web API forklaret

Billeder: Flicker.com/ Eric Liu / Blue Coat Photos


Forfatteren: Reema Oamkumar er engageret som en tankeleder på www.Software-Developer-India.com, som er en del af YUHIRO Group. YUHIRO er en tysk-indisk virksomhed, der leverer programmører til IT-virksomheder, agenturer og IT-afdelinger.

Skriv et svar

This site uses Akismet to reduce spam. Learn how your comment data is processed.