Cum se implementează arhitectura MVC în Java?



Acest articol despre Arhitectura MVC în Java vă va ajuta să înțelegeți ce anume este modelul de proiectare MVC și cum facilitează proiectarea aplicațiilor web.

În câmpul Dezvoltare web, Model-View-Controllereste una dintre cele mai discutate în lumea programării web de astăzi. Arhitectura MVC a fost inițial inclusă în cele două mari cadre de dezvoltare web - Struts și Ruby on Rails . În acest articol, să explorăm puțin despre Arhitectura MVC în .

Subiectele care vor fi tratate în acest articol sunt următoarele:





Înainte de a gși în tehnicile arhitecturii MVC, există anumite concepte pe care trebuie să le cunoașteți.

  • Model de proiectare , în ingineria software, este o tehnică de rezolvare a unei probleme frecvente la proiectarea software-ului.
  • Proiectarea modelului, specifică ce tip de arhitectură utilizați pentru a rezolva problema sau pentru a proiecta modelul.
  • Sunt două tipuri de modele de design : Model 1 Arhitectură , Arhitectura Model 2 (MVC).

Ce este MVC Architecture în Java?

Modelele bazate pe arhitectura MVC urmează MVC și separă logica aplicației de interfața cu utilizatorul atunci când proiectează software. După cum sugerează și numele, modelul MVC are trei straturi, care sunt:



  • Model - Reprezintă stratul de afaceri al aplicației
  • Vedere - Definește prezentarea aplicației
  • Controlor - Gestionează fluxul aplicației

MVC - Arhitectura MVC în Java - Edureka

ridicând un număr la o putere în java

În contextul programării Java,Modelul constă din simplu Cursuri Java , Vizualizarea afișează datele, iar controlerul este format din . Această separare are ca rezultat procesarea solicitărilor utilizatorilor după cum urmează:



  1. Browserul de pe client trimite o cerere pentru o pagină către controlerul prezent pe server
  2. Operatorul efectuează acțiunea de a invoca modelul, recuperând astfel datele de care are nevoie ca răspuns la cerere
  3. Controlerul oferă apoi datele recuperate vizualizării
  4. Vizualizarea este redată și trimisă înapoi clientului pentru ca browserul să fie afișat

Separarea unei aplicații software înaceste trei componente distincte este o idee bună din mai multe motive. Să aruncăm o privire la ce sunt acestea.

Avantajele arhitecturii MVC în Java

Arhitectura MVC oferă o mulțime de avantaje pentru un programator atunci când dezvoltă aplicații, care includ:

  • Mai mulți dezvoltatori pot lucra simultan cu cele trei straturi (Model, Vizualizare și Controler)
  • Oferte îmbunătățite scalabilitate , care suplimentează capacitatea aplicației de a crește
  • Deoarece componentele au o dependență scăzută una de cealaltă, acestea sunt ușor de întreținut
  • Un model poate fi reutilizat de mai multe vizualizări care oferă reutilizarea codului
  • Adoptarea MVC face ca o aplicație să fie mai expresivă și mai ușor de înțeles
  • Extinderea și testarea aplicației devine ușoară

Acum știți de ce MVC este cel mai popular în lumea programării web. Dar, dacă încă te străduiești să-ți dai seama de conceptul MVC, nu-ți face griji. Vom sapa adânc în fiecare dintre aceste straturi și vom învăța scopul lor cu ajutorul unui .

Implementarea MVC folosind Java

Pentru a implementa o aplicație web bazată pe modelul de proiectare MVC, vom crea

  • Cursul de curs , care acționează ca strat model
  • Clasa CourseView , care definește stratul de prezentare ( stratul de vizualizare )
  • Clasa CourseContoller , care acționează ca un controlor

Acum, să explorăm aceste straturi unul câte unul.

Stratul model

În modelul de proiectare MVC, model este stratul de date care definește logica de afaceri a sistemului și reprezintă, de asemenea, starea aplicației.Modelul obiecte preluați și stocați starea modelului într-o bază de date. Prin acest strat, aplicăm reguli datelor, care reprezintă în cele din urmă conceptele pe care le gestionează aplicația noastră. Acum, să creăm un model folosind Cursul de curs.

pachet MyPackage public class Curs {private String CourseName private String CourseId private String CourseCategory public String getId () {return CourseId} public void setId (String id) {this.CourseId = id} public String getName () {return CourseName} public void setName (Numele șirului) {this.CourseName = name} public String getCategory () {return CourseCategory} public void setCategory (categoria String) {this.CourseCategory = category}}

Codul este ușor de înțeles și se explică de la sine. Se compune din funcții pentru a obține / seta detaliile cursului.

comanda java pentru a termina programul

Stratul de vizualizare

Acest strat al modelului de proiectare MVC reprezintă ieșirea aplicației sau a interfeței cu utilizatorul. Afișează datele preluate de la nivelul modelului de către controler și prezintă datele utilizatorului ori de câte ori li se solicită. Eunu primește toate informațiile de care are nevoie de la controler și nu trebuie să interacționeze direct cu stratul de afaceri.Să creăm o vizualizare folosind Clasa CourseView.

package 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 ('ID curs:' + CourseId) System.out.println ('Categoria cursului:' + CourseCategory)}}

Acest cod estepur și simplu pentru a imprima valorile pe consolă. În continuare avem controlerul aplicației web.

Stratul de controlor

Controlerul este ca o interfață între model și vizualizare. Acesta primește cererile utilizatorului din stratul de vizualizare și le procesează, inclusiv validările necesare. Solicitările sunt apoi trimise la model pentru prelucrarea datelor. Odată procesate, datele sunt din nou trimise înapoi către controler și apoi afișate în vizualizare.Să creăm Clasa CourseContoller care acționează ca un controlor.

pachet MyPackage public class CourseController {private Course model private CourseView view public CourseController (Modelul cursului, vizualizarea CourseView) {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 (categoria String) {model.setCategory (categorie)} șir public getCourseCategory () {return model.getCategory ()} public void updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

O privire scurtă asupra codului ne va spune că această clasă de controler este doar responsabilă pentru apelarea modelului pentru a obține / seta datele și pentru a actualiza vizualizarea pe baza acestuia. Acum hai săaruncați o privire la modul în care toate acestea sunt legate între ele.

Clasa Java principală

Să numim această clasă „MVCPatternDemo.java”. Verificați codul de mai jos.

package MyPackage public class MVCPatternDemo {public static void main (String [] args) {// preluați înregistrarea studentului pe baza listei sale nr din baza de date Modelul cursului = retriveCourseFromDatabase () // Creați o vizualizare: pentru a scrie detaliile cursului pe consola = nou CourseView () CourseController controller = new CourseController (model, vizualizare) controller.updateView () // update model data controller.setCourseName ('Python') System.out.println ('nDupă actualizare, detaliile cursului sunt după cum urmează') controller.updateView ()} privat static Curs retriveCourseFromDatabase () {Course course = new Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programare ') return curs}}

Clasa de mai suspreluează datele cursului din utilizând ce utilizator introduce setul de valori. Apoi, împinge aceste valori în modelul Cursului. Apoi, inițializează vizualizarea pe care am creat-o mai devreme în articol.Mai mult, invocă și CourseController clasă și o leagă de Curs clasa și CourseView clasă. updateView () metoda care face parte din controler apoi actualizează detaliile cursului de pe consolă. Verificați rezultatul de mai jos.

Ieșire

Detalii curs: Nume: ID curs Java: 01 Categorie curs: Programare După actualizare, Detaliile cursului sunt următoarele Detalii curs: Nume: Python ID curs: 01 Categorie curs: Programare

Arhitectura MVCoferă un nivel cu totul nou de modularitate codului dvs., ceea ce îl face mult mai lizibil și mai ușor de întreținut. Acest lucru ne aduce la sfârșitul acestui articol.Sper că ești clar cu tot ce ți-a fost împărtășit.

Asigurați-vă că exersați cât mai mult posibil și reveniți la experiență.

Verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Suntem aici pentru a vă ajuta cu fiecare pas din călătoria dvs., venim cu un curriculum care este conceput pentru studenți și profesioniști care doresc să fie un dezvoltator Java.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestei „Arhitectură MVC în Java” articol și vă vom răspunde cât mai curând posibil.