MVC Framework Tutorial for begyndere: Hvad er, ArchiTecture & Eksempel

Hvad er MVC Framework?

Model-View-Controller (MVC) rammen er en archiet teknisk mønster, der adskiller en applikation i tre logiske hovedkomponenter Model, View og Controller. Deraf forkortelsen MVC. Hver architecture-komponenten er bygget til at håndtere specifikke udviklingsaspekter af en applikation. MVC adskiller forretningslogikken og præsentationslaget fra hinanden. Det blev traditionelt brugt til desktop grafiske brugergrænseflader (GUI'er). I dag er MVC architecture i webteknologi er blevet populær til at designe webapplikationer såvel som mobile apps.

Historien om MVC

  • MVC architecture blev første gang diskuteret i 1979 af Trygve Reenskaug
  • MVC-modellen blev først introduceret i 1987 i programmeringssproget Smalltalk.
  • MVC blev første gang accepteret som et generelt koncept i en artikel fra 1988
  • I den seneste tid er MVC-mønster meget brugt i moderne webapplikationer

Funktioner af MVC

  • Nem og friktionsfri testbarhed. Meget testbar, udvidelsesbar og pluggbar ramme
  • At designe en webapplikation architecture ved hjælp af MVC-mønsteret, giver det fuld kontrol over din HTML såvel som dine URL'er
  • Udnyt eksisterende funktioner leveret af ASP.NET, JSP, Django osv.
  • Klar adskillelse af logik: Model, View, Controller. Adskillelse af ansøgningsopgaver viz. forretningslogik, Ul-logik og inputlogik
  • URL-routing til SEO-venlige URL'er. Kraftig URL-mapping til forståelige og søgbare URL'er
  • Understøtter testdrevet udvikling (TDD)

MVC Architecture

Her er den detaljerede archiTecture af MVC framework:

MVC Architecture
MVC Architecture diagram

Tre vigtige MVC-komponenter er:

  • Model: Den inkluderer alle data og dens relaterede logik
  • Visning: Præsenter data for brugeren eller håndterer brugerinteraktion
  • Controller: En grænseflade mellem Model- og View-komponenter

Lad os se hinanden denne komponent i detaljer:

Specifikation

En visning er den del af applikationen, der repræsenterer præsentationen af ​​data.

Visninger skabes af de data, der er indsamlet fra modeldataene. En visning anmoder modellen om at give information, så den præsenterer outputpræsentationen for brugeren.

Visningen repræsenterer også data fra diagrammer, diagrammer og tabeller. For eksempel vil enhver kundevisning inkludere alle UI-komponenter som tekst boxes, drop downs osv.

controller

Controlleren er den del af applikationen, der håndterer brugerinteraktionen. Controlleren fortolker musen og tastaturets input fra brugeren, informerer modellen og visningen til at ændre sig efter behov.

En controller sender kommandoer til modellen for at opdatere dens tilstand (f.eks. lagring af et specifikt dokument). Controlleren sender også kommandoer til dens tilknyttede visning for at ændre visningens præsentation (For eksempel at rulle et bestemt dokument).

Model

Modelkomponenten gemmer data og dens relaterede logik. Det repræsenterer data, der overføres mellem controllerkomponenter eller enhver anden relateret forretningslogik. For eksempel vil et Controller-objekt hente kundeoplysningerne fra databasen. Den manipulerer data og sender tilbage til databasen eller bruger den til at gengive de samme data.

Den reagerer på anmodningen fra visningerne og reagerer også på instruktioner fra controlleren om at opdatere sig selv. Det er også det laveste niveau af mønsteret, som er ansvarlig for at vedligeholde data.

MVC eksempler

Lad os se et eksempel på Model View Controller fra dagligdagen:

Eksempel 1

MVC eksempler

  • Lad os antage, at du går på restaurant. Du vil ikke gå i køkkenet og tilberede mad, som du helt sikkert kan lave hjemme hos dig. I stedet går du derhen og venter på, at tjeneren kommer på.
  • Nu kommer tjeneren til dig, og du bestiller maden. Tjeneren ved ikke, hvem du er, og hvad du vil have, han skrev bare detaljerne i din madbestilling ned.
  • Så går tjeneren ud i køkkenet. I køkkenet tilbereder tjeneren ikke din mad.
  • Kokken forberederares din mad. Tjeneren får din ordre til ham sammen med dit bordnummer.
  • Tilbered derefter mad til dig. Han bruger ingredienser til at lave maden. Lad os antage, at du bestiller en grøntsagssandwich. Så har han brug for brød, tomat, kartoffel, paprika, løg, bit, ost osv. som han henter fra køleskabet
  • Kog den sidste overrækkelse af maden til tjeneren. Nu er det tjenerens opgave at flytte denne mad uden for køkkenet.
  • Nu ved tjeneren, hvilken mad du har bestilt, og hvordan de serveres.

I denne MVC archiTecture eksempel,

View= You
Waiter= Controller
Cook= Model
Refrigerator= Data

Lad os se endnu et eksempel på en MVC-model,

Eksempel 2

MVC eksempler

Bilkørselsmekanisme er et andet eksempel på MVC-modellen.

  • Hver bil består af tre hoveddele.
  • Vis = Brugergrænseflade: (Gearstang, paneler, rat, bremse osv.)
  • Controller- Mekanisme (motor)
  • Model- Opbevaring (benzin- eller dieseltank)

Bilen kører fra motoren tager brændstof fra lageret, men den kører kun ved at bruge de nævnte brugergrænsefladeenheder.

Populære MVC-webrammer

Her er en liste over nogle populære MVC-frameworks:

Fordele ved MVC: Vigtige fordele

Her er store fordele ved at bruge MVC archilære:

  • Nem kodevedligeholdelse, som er nem at udvide og dyrke
  • MVC Model komponent kan testes separat fra brugeren
  • Lettere support til nye typer klienter
  • Udvikling af de forskellige komponenter kan udføres parallelt.
  • Det hjælper dig med at undgå complexved at opdele en ansøgning i de tre enheder. Model, visning og controller
  • Den bruger kun et Front Controller-mønster, som behandler webapplikationsanmodninger gennem en enkelt controller.
  • Tilbyder den bedste støtte til testdrevet udvikling
  • Det fungerer godt for webapps, som understøttes af store teams af webdesignere og udviklere.
  • Giver ren adskillelse af bekymringer (SoC).
  • Søgemaskineoptimering (SEO) venlig.
  • Alle klasser og objekter er uafhængige af hinanden, så du kan teste dem separat.
  • MVC-designmønster tillader logisk gruppering af relaterede handlinger på en controller sammen.

Ulemper ved at bruge MVC

  • Svært at læse, ændre, enhedsteste og genbruge denne model
  • Frameworknavigationen kan nogen tid complex da det introducerer nye lag af abstraktion, som kræver, at brugerne tilpasser sig dekomponeringskriterierne for MVC.
  • Ingen formel valideringsstøtte
  • Øget complexdatas kvalitet og ineffektivitet
  • Vanskeligheden ved at bruge MVC med den moderne brugergrænseflade
  • Der er behov for flere programmører til at udføre parallel programmering.
  • Kendskab til flere teknologier er påkrævet.
  • Vedligeholdelse af masser af koder i Controller

3-lags Architecture vs. MVC Architecture

Parameter 3-Tier Architecture MVC Architecture
Kommunikation Denne type architecture mønster kommunikerer aldrig direkte med datalaget. Alle lag kommunikerer direkte ved hjælp af trekanttopologi.
Brug 3-tier: Udbredt i webapplikationer, hvor klienten, datalagene og middleware kører på fysisk adskilte platforme. Anvendes generelt på applikationer, der kører på en enkelt grafisk arbejdsstation.

Resumé

  • MVC'en er en architekturmønster, der adskiller en applikation i 1) Model, 2) View og 3) Controller
  • Model: Den inkluderer alle data og dens relaterede logik
  • Visning: Præsenter data for brugeren eller håndterer brugerinteraktion
  • Controller: En grænseflade mellem Model- og View-komponenter
  • MVC architecture blev første gang diskuteret i 1979 af Trygve Reenskaug
  • MVC architecture i Java er en meget testbar, udvidelsesbar og pluggbar ramme
  • Nogle populære MVC-frameworks er Rails, Zend Framework, CodeIgniter, Laravel, Fuel PHP osv.