logo

Arhitectura MVC în Java

Model-View-Controller (MVC) este un bine-cunoscut model de design în domeniul dezvoltării web. Este o modalitate de a ne organiza codul. Acesta specifică faptul că un program sau o aplicație va consta din model de date, informații de prezentare și informații de control. Modelul MVC are nevoie de toate aceste componente pentru a fi separate ca obiecte diferite.

În această secțiune, vom discuta despre Arhitectura MVC în Java, împreună cu avantajele și dezavantajele sale și exemple pentru a înțelege implementarea MVC în Java.

Ce este arhitectura MVC în Java?

Modelele bazate pe arhitectura MVC urmează modelul de proiectare MVC. Logica aplicației este separată de interfața cu utilizatorul în timp ce proiectați software-ul folosind modele de modele.

codul numărului aleatoriu c

Arhitectura modelului MVC constă din trei straturi:

    Model:Reprezintă stratul de afaceri al aplicației. Este un obiect pentru a transporta datele care poate conține, de asemenea, logica de actualizare a controlorului dacă datele sunt modificate.Vedere:Reprezintă stratul de prezentare al aplicației. Este folosit pentru a vizualiza datele pe care le conține modelul.Controlor:Funcționează atât pe model, cât și pe vizualizare. Este folosit pentru a gestiona fluxul aplicației, adică fluxul de date în obiectul model și pentru a actualiza vizualizarea ori de câte ori datele sunt modificate.

În programarea Java, modelul conține simplu Clasele Java , Vizualizarea utilizată pentru afișarea datelor și Controller-ul conține servlet-uri . Datorită acestei separări, cererile utilizatorilor sunt procesate după cum urmează:

Arhitectura MVC în Java
  1. Un client (browser) trimite o cerere controlerului din partea serverului, pentru o pagină.
  2. Controlerul apelează apoi modelul. Adună datele solicitate.
  3. Apoi, controlorul transferă datele preluate în stratul de vizualizare.
  4. Acum rezultatul este trimis înapoi la browser (client) de către vizualizare.

Avantajele arhitecturii MVC

Avantajele arhitecturii MVC sunt următoarele:

  • MVC are caracteristica de scalabilitate care, la rândul său, ajută la creșterea aplicației.
  • Componentele sunt ușor de întreținut deoarece există mai puțină dependență.
  • Un model poate fi reutilizat de mai multe vizualizări care asigură reutilizarea codului.
  • Dezvoltatorii pot lucra cu cele trei straturi (Model, Vizualizare și Controler) simultan.
  • Folosind MVC, aplicația devine mai ușor de înțeles.
  • Folosind MVC, fiecare strat este menținut separat, prin urmare nu trebuie să ne ocupăm de cod masiv.
  • Extinderea și testarea aplicației este mai ușoară.

Implementarea MVC folosind Java

Pentru a implementa modelul MVC în Java, trebuie să creăm următoarele trei clase.

    Clasa de angajați, va acționa ca strat modelClasa EmployeeView, va acționa ca un strat de vizualizareClasa EmployeeContoller, va acționa un strat de controler

Straturi de arhitectură MVC

Strat de model

Modelul din modelul de proiectare MVC acționează ca un strat de date pentru aplicație. Reprezintă logica de afaceri pentru aplicare și, de asemenea, starea aplicației. Obiectul model preia și stochează starea modelului în baza de date. Folosind stratul model, regulile sunt aplicate datelor care reprezintă conceptele de aplicare.

Să luăm în considerare următorul fragment de cod care creează un care este și primul pas pentru implementarea modelului MVC.

Angajat.java

 // class that represents model public class Employee { // declaring the variables private String EmployeeName; private String EmployeeId; private String EmployeeDepartment; // defining getter and setter methods public String getId() { return EmployeeId; } public void setId(String id) { this.EmployeeId = id; } public String getName() { return EmployeeName; } public void setName(String name) { this.EmployeeName = name; } public String getDepartment() { return EmployeeDepartment; } public void setDepartment(String Department) { this.EmployeeDepartment = Department; } } 

Codul de mai sus constă pur și simplu din metode getter și setter pentru clasa Employee.

Vizualizare strat

După cum arată numele, vizualizarea reprezintă vizualizarea datelor primite de la model. Stratul de vizualizare este format din ieșirea aplicației sau a interfeței utilizator. Acesta trimite datele solicitate către client, care sunt preluate din stratul model de către controler.

Să luăm un exemplu în care creăm o vizualizare folosind clasa EmployeeView.

EmployeeView.java

 // class which represents the view public class EmployeeView { // method to display the Employee details public void printEmployeeDetails (String EmployeeName, String EmployeeId, String EmployeeDepartment){ System.out.println('Employee Details: '); System.out.println('Name: ' + EmployeeName); System.out.println('Employee ID: ' + EmployeeId); System.out.println('Employee Department: ' + EmployeeDepartment); } } 

Stratul de controler

Nivelul de controler primește cererile utilizatorilor din stratul de vizualizare și le procesează, cu validările necesare. Acționează ca o interfață între Model și View. Solicitările sunt apoi trimise către model pentru prelucrarea datelor. Odată procesate, datele sunt trimise înapoi controlorului și apoi afișate pe vizualizare.

Să luăm în considerare următorul fragment de cod care creează controlerul folosind clasa EmployeeController.

EmployeeController.java

 // class which represent the controller public class EmployeeController { // declaring the variables model and view private Employee model; private EmployeeView view; // constructor to initialize public EmployeeController(Employee model, EmployeeView view) { this.model = model; this.view = view; } // getter and setter methods public void setEmployeeName(String name){ model.setName(name); } public String getEmployeeName(){ return model.getName(); } public void setEmployeeId(String id){ model.setId(id); } public String getEmployeeId(){ return model.getId(); } public void setEmployeeDepartment(String Department){ model.setDepartment(Department); } public String getEmployeeDepartment(){ return model.getDepartment(); } // method to update view public void updateView() { view.printEmployeeDetails(model.getName(), model.getId(), model.getDepartment()); } } 

Fișier Java de clasă principală

Următorul exemplu afișează fișierul principal pentru implementarea arhitecturii MVC. Aici, folosim clasa MVCMain.

MVCMain.java

 // main class public class MVCMain { public static void main(String[] args) { // fetching the employee record based on the employee_id from the database Employee model = retriveEmployeeFromDatabase(); // creating a view to write Employee details on console EmployeeView view = new EmployeeView(); EmployeeController controller = new EmployeeController(model, view); controller.updateView(); //updating the model data controller.setEmployeeName('Nirnay'); System.out.println('
 Employee Details after updating: '); controller.updateView(); } private static Employee retriveEmployeeFromDatabase(){ Employee Employee = new Employee(); Employee.setName('Anu'); Employee.setId('11'); Employee.setDepartment('Salesforce'); return Employee; } } 

The MVCMain class preia datele angajatului din metoda în care am introdus valorile. Apoi împinge acele valori în model. După aceea, inițializează vizualizarea (EmployeeView.java). Când vizualizarea este inițializată, controlerul (EmployeeController.java) este invocat și îl leagă la clasa Employee și la clasa EmployeeView. În cele din urmă, metoda updateView() (metoda controlerului) actualizează detaliile angajatului pentru a fi tipărite pe consolă.

Ieșire:

 Employee Details: Name: Anu Employee ID: 11 Employee Department: Salesforce Employee Details after updating: Name: Nirnay Employee ID: 11 Employee Department: Salesforce 

În acest fel, am aflat despre Arhitectura MVC, semnificația fiecărui strat și implementarea lui în Java.