Sådan implementeres MVC-arkitektur i Java?



Denne artikel om MVC-arkitektur i Java hjælper dig med at forstå, hvad MVC-mønster er, og hvordan det gør det nemt at designe webapplikationer.

I feltet Webudvikling, Model-View-Controllerer en af ​​de mest omtalte i verdenen til webprogrammering i dag. MVC Architecture blev oprindeligt inkluderet i de to store webudviklingsrammer - Struts og Ruby on Rails . I denne artikel skal vi undersøge lidt om MVC-arkitektur i .

hvordan man bruger erstatte i java

Emnerne, der vil blive dækket af denne artikel, er som følger:





Før vi faktisk get i de tekniske aspekter af MVC Architecture, der er visse begreber, som du har brug for at kende.

  • Designmønster , inden for software engineering, er en teknik til løsning af et almindeligt forekommende problem ved design af software.
  • Design af model, angiver, hvilken type arkitektur du bruger til at løse problemet eller designe modellen.
  • Der er to typer designmodeller : Model 1-arkitektur , Model 2 (MVC) arkitektur.

Hvad er MVC-arkitektur i Java?

Modeldesign baseret på MVC-arkitektur følger MVC og de adskiller applikationslogikken fra brugergrænsefladen, når de designer software. Som navnet antyder har MVC-mønster tre lag, som er:



  • Model - Repræsenterer ansøgningens forretningslag
  • Udsigt - Definerer præsentationen af ​​applikationen
  • Controller - Administrerer applikationsstrømmen

MVC - MVC-arkitektur i Java - Edureka

I Java-programmering sammenhæng,modellen består af enkel Java-klasser , viser visningen dataene, og controlleren består af . Denne adskillelse resulterer i, at brugeranmodninger behandles som følger:



  1. Browseren på klienten sender en anmodning om en side til den controller, der findes på serveren
  2. Controlleren udfører handlingen med at påkalde modellen og henter dermed de data, den har brug for som svar på anmodningen
  3. Controlleren giver derefter de hentede data til visningen
  4. Visningen gengives og sendes tilbage til klienten, så browseren kan vises

Adskille en softwareapplikation idisse tre forskellige komponenter er en god idé af en række årsager. Lad os se på, hvad det er.

Fordele ved MVC-arkitektur i Java

MVC-arkitektur giver en masse fordele for en programmør, når han udvikler applikationer, som inkluderer:

  • Flere udviklere kan arbejde med de tre lag (Model, View og Controller) samtidigt
  • Tilbud forbedret skalerbarhed , der supplerer applikationens evne til at vokse
  • Da komponenter har lav afhængighed af hinanden, er de nemme at vedligeholde
  • En model kan genbruges af flere visninger, som giver genanvendelighed af kode
  • Vedtagelse af MVC gør en applikation mere udtryksfuld og let at forstå
  • Udvidelse og test af applikationen bliver let

Nu ved du, hvorfor MVC er den mest populære i webprogrammeringsverdenen. Men hvis du stadig kæmper for at få hovedet omkring MVC-konceptet, skal du ikke bekymre dig. Vi vil grave dybt ned i hvert af disse lag og lære deres formål ved hjælp af et .

Implementering af MVC ved hjælp af Java

For at implementere en webapplikation baseret på MVC-designmønster opretter vi

  • Kursus klasse , der fungerer som model lag
  • CourseView-klasse , som definerer præsentationslaget ( se lag )
  • CourseController-klasse , der fungerer som en controller

Lad os nu udforske disse lag et efter et.

Modellaget

I MVC-designmønsteret er model er datalaget, der definerer systemets forretningslogik og også repræsenterer applikationens tilstand.Modellen genstande hente og gemme status for modellen i en database. Gennem dette lag anvender vi regler på data, som til sidst repræsenterer de koncepter, vores applikation administrerer. Lad os nu oprette en model ved hjælp af Kursus klasse.

pakke MyPackage offentlig klasse Kursus {privat String CourseName privat String CourseId privat String CourseCategory offentlig String getId () {return CourseId} public void setId (String id) {this.CourseId = id} public String getName () {return CourseName} public void setName (String name) {this.CourseName = name} public String getCategory () {return CourseCategory} public void setCategory (String category) {this.CourseCategory = category}}

Koden er let at forstå og forklarer sig selv ikke. Den består af funktioner til at få / indstille kursusoplysninger.

hvordan man opsætter formørkelse

Visningslaget

Dette lag af MVC-designmønsteret repræsenterer output fra applikationen eller brugergrænsefladen. Det viser de data, der er hentet fra modelaget af controlleren, og præsenterer dataene for brugeren, når der bliver bedt om det. jegt modtager al den information, den har brug for fra controlleren, og den behøver ikke at interagere direkte med forretningslaget.Lad os oprette en visning ved hjælp af CourseView-klasse.

pakke MyPackage public class CourseView {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('Course Details:') System.out.println ('Name:' + CourseName) System.out.println ('Kursus-id:' + CourseId) System.out.println ('Kursuskategori:' + Kursuskategori)}}

Denne kode erblot for at udskrive værdierne til konsollen. Derefter har vi controlleren til webapplikationen.

Controller-laget

Controlleren er som en grænseflade mellem Model og View. Den modtager brugeranmodningerne fra visningslaget og behandler dem, herunder de nødvendige valideringer. Anmodningerne sendes derefter til model til databehandling. Når de er behandlet, sendes dataene igen til controlleren og vises derefter på visningen.Lad os oprette CourseController-klasse der fungerer som en controller.

pakke MyPackage offentlig klasse CourseController {privat Course model privat CourseView visning offentlig CourseController (Course model, CourseView view) {this.model = model this.view = view} public void setCourseName (String name) {model.setName (name)} public String getCourseName () {return model.getName ()} public void setCourseId (String id) {model.setId (id)} public String getCourseId () {return model.getId ()} public void setCourseCategory (String category) {model.setCategory (category)} public String getCourseCategory () {return model.getCategory ()} public void updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

Et kort blik på koden vil fortælle os, at denne controller-klasse bare er ansvarlig for at kalde modellen for at hente / indstille dataene og opdatere visningen baseret på det. Lad os nuse på, hvordan alle disse er bundet sammen.

Hoved Java-klasse

Lad os kalde denne klasse 'MVCPatternDemo.java'. Tjek koden nedenfor.

java konvertere dobbelt til heltal
pakke MyPackage public class MVCPatternDemo {public static void main (String [] args) {// hent studentoptegnelse baseret på hans roll nr. fra databasen Course model = retriveCourseFromDatabase () // Opret en visning: for at skrive kursusdetaljer på konsollen = ny CourseView () CourseController controller = ny CourseController (model, visning) controller.updateView () // opdater model model controller.setCourseName ('Python') System.out.println ('n Efter opdatering er kursusdetaljer som følger') controller.updateView ()} privat statisk Course retriveCourseFromDatabase () {Course course = new Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programming ') return kursus}}

Ovenstående klassehenter kursusdata fra ved hjælp af hvilken bruger, der indtaster værdisættet. Derefter skubber disse værdier ind i kursusmodellen. Derefter initialiserer den den opfattelse, vi havde oprettet tidligere i artiklen.Desuden påberåber det sig også CourseController klasse og binder den til Rute klasse og CourseView klasse. Det updateView () metode, som er en del af controlleren, opdaterer derefter kursusoplysningerne på konsollen. Tjek output nedenfor.

Produktion

Kursusoplysninger: Navn: Java Kursus-id: 01 Kursuskategori: Programmering Efter opdatering er kursusoplysningerne som følger Kursusoplysninger: Navn: Python Kursus-id: 01 Kursuskategori: Programmering

MVC-arkitekturengiver et helt nyt niveau af modularitet til din kode, hvilket gør den meget mere læsbar og vedligeholdelig. Dette bringer os til slutningen af ​​denne artikel.Håber du er klar med alt, hvad der er delt med dig.

Sørg for at øve så meget som muligt, og vend din oplevelse tilbage.

Tjek af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Vi er her for at hjælpe dig med hvert trin på din rejse, vi kommer med en læseplan, der er designet til studerende og fagfolk, der ønsker at være en Java-udvikler.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne 'MVC Architecture in Java' artikel, og vi vender tilbage til dig hurtigst muligt.