Hur implementerar jag MVC-arkitektur i Java?



Den här artikeln om MVC-arkitektur i Java hjälper dig att förstå exakt MVC-designmönster och hur det gör det enkelt att designa webbapplikationer.

I fältet Webbutveckling, Model-View-Controllerär en av de mest omtalade i webbprogrammeringsvärlden idag. MVC Architecture ingick ursprungligen i de två stora webbutvecklingsramarna - Struts och Ruby on Rails . I den här artikeln ska vi utforska lite om MVC-arkitektur i .

Ämnen som kommer att behandlas i denna artikel är följande:





Innan vi faktiskt gin i tekniska aspekter av MVC Architecture, det finns vissa begrepp som du behöver veta.

  • Design mönster , inom programvaruteknik, är en teknik för att lösa vanligt förekommande problem vid utformning av programvara.
  • Designa modell, anger vilken typ av arkitektur du använder för att lösa problemet eller utforma modellen.
  • Det finns två typer av designmodeller : Modell 1-arkitektur , Model 2 (MVC) Architecture.

Vad är MVC-arkitektur i Java?

Modelldesigner baserade på MVC-arkitektur följer MVC och de skiljer applikationslogiken från användargränssnittet när de utformar programvara. Som namnet antyder har MVC-mönster tre lager, vilka är:



  • Modell - Representerar applikationens affärsskikt
  • Se - Definierar presentationen av ansökan
  • Kontroller - Hanterar applikationsflödet

MVC - MVC-arkitektur i Java - Edureka

I Java-programmeringskontext,modellen består av enkel Java-klasser , visar vyn data och styrenheten består av . Denna separation leder till att användarförfrågningar behandlas enligt följande:



  1. Webbläsaren på klienten skickar en begäran om en sida till den kontroller som finns på servern
  2. Styrenheten utför åtgärden för att åberopa modellen och hämtar därmed de data den behöver som svar på begäran
  3. Styrenheten ger sedan hämtade data till vyn
  4. Vyn återges och skickas tillbaka till klienten så att webbläsaren kan visas

Separera en programvara idessa tre olika komponenter är en bra idé av ett antal skäl. Låt oss ta en titt på vad det är.

Fördelar med MVC-arkitektur i Java

MVC-arkitektur erbjuder många fördelar för en programmerare när de utvecklar applikationer, som inkluderar:

  • Flera utvecklare kan arbeta med de tre lagren (Model, View och Controller) samtidigt
  • Erbjudanden förbättrade skalbarhet , som kompletterar applikationens förmåga att växa
  • Eftersom komponenter har lågt beroende av varandra är de lätta att underhålla
  • En modell kan återanvändas med flera vyer som ger återanvändbarhet av kod
  • Antagande av MVC gör en applikation mer uttrycksfull och lätt att förstå
  • Utvidgning och testning av applikationen blir lätt

Nu vet du varför MVC är den mest populära i webbprogrammeringsvärlden. Men om du fortfarande kämpar för att få huvudet kring begreppet MVC, oroa dig inte. Vi gräver djupt in i vart och ett av dessa lager och lär oss deras syfte med hjälp av ett .

Implementering av MVC med Java

För att implementera en webbapplikation baserad på MVC-designmönster skapar vi

hur man konverterar ett tal till binärt i python
  • Kursklass , som fungerar som modellskikt
  • CourseView-klass , som definierar presentationslagret ( Visa lager )
  • CourseContoller-klass , som fungerar som en kontroller

Nu ska vi utforska dessa lager en efter en.

Model Layer

I MVC-designmönstret modell är datalagret som definierar systemets affärslogik och också representerar applikationens tillstånd.Modellen objekt hämta och lagra modellens tillstånd i en databas. Genom detta lager använder vi regler på data, som så småningom representerar de begrepp som vår applikation hanterar. Nu ska vi skapa en modell med Kursklass.

paket MyPackage public class Kurs {privat String CourseName privat String CourseId privat String CourseCategory public String getId () {return CourseId} public void setId (String id) {this.CourseId = id} public String getName () {return CourseName} public void setName (Strängnamn) {this.CourseName = name} public String getCategory () {return CourseCategory} public void setCategory (String category) {this.CourseCategory = category}}

Koden är lätt att förstå och är självförklarande. Den består av funktioner för att få / ställa in kursinformation.

View Layer

Detta lager av MVC-designmönstret representerar applikationens eller användargränssnittets utdata. Den visar de data som hämtats från modellskiktet av styrenheten och presenterar data för användaren när det efterfrågas. Jagt tar emot all information den behöver från styrenheten och den behöver inte interagera med affärslaget direkt.Låt oss skapa en vy med CourseView-klass.

paket 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 ('Kurs-ID:' + CourseId) System.out.println ('Kurskategori:' + Kurskategori)}}

Den här koden ärhelt enkelt för att skriva ut värdena till konsolen. Därefter har vi kontrollenheten för webbapplikationen.

Controller Layer

Styrenheten är som ett gränssnitt mellan modell och vy. Den tar emot användarförfrågningarna från vyskiktet och bearbetar dem, inklusive nödvändiga valideringar. Förfrågningarna skickas sedan till modell för databehandling. När de väl har bearbetats skickas data tillbaka till styrenheten och visas sedan på vyn.Låt oss skapa CourseContoller-klass som fungerar som en styrenhet.

paket MyPackage offentlig klass CourseController {privat kursmodell privat CourseView-vy offentlig CourseController (kursmodell, CourseView-vy) {this.model = modell 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 ())}}

En kortfattad blick på koden kommer att berätta att denna kontrollerklass bara ansvarar för att ringa modellen för att hämta / ställa in data och uppdatera vyn baserat på det. Låt oss nuta en titt på hur alla dessa är sammanbundna.

Huvud Java-klass

Låt oss kalla den här klassen 'MVCPatternDemo.java'. Kolla in koden nedan.

paket MyPackage public class MVCPatternDemo {public static void main (String [] args) {// hämta studentpost baserat på hans roll nr från databasen Kursmodell = retriveCourseFromDatabase () // Skapa en vy: för att skriva kursinformation på konsolen CourseView-vy = ny CourseView () CourseController-styrenhet = ny CourseController (modell, visa) controller.updateView () // uppdatera modelldatakontroller.setCourseName ('Python') System.out.println ('nEfter uppdatering är baninformation som följer') controller.updateView ()} privat statisk kurs retriveCourseFromDatabase () {Kurskurs = ny Kurs () kurs.setnamn ('Java') kurs.setId ('01 ') kurs.setCategory (' Programmering ') returkurs}}

Ovanstående klasshämtar kursdata från använda vilken användare som anger värdet. Det skjuter sedan in dessa värden i kursmodellen. Sedan initialiseras den vy som vi hade skapat tidigare i artikeln.Vidare åberopar den också CourseController klass och binder den till Kurs klass och CourseView klass. De updateView () metod som är en del av styrenheten uppdaterar sedan kursinformation på konsolen. Kolla in utdata nedan.

abstraktion i c ++

Produktion

Kursinformation: Namn: Java Kurs-ID: 01 Kurskategori: Programmering Efter uppdatering är kursinformation som följer Kursinformation: Namn: Python Kurs-ID: 01 Kurskategori: Programmering

MVC-arkitekturenger en helt ny nivå av modularitet till din kod vilket gör den mycket mer läsbar och underhållbar. Detta leder oss till slutet av den här artikeln.Hoppas att du är tydlig med allt som har delats med dig.

Se till att du tränar så mycket som möjligt och återgår till din upplevelse.

Kolla in av Edureka, ett pålitligt online-lärande företag med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Vi är här för att hjälpa dig med varje steg på din resa, vi kommer med en läroplan som är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna ”MVC Architecture in Java” artikeln så återkommer vi till dig så snart som möjligt.