logo

Arhitektura MVC v Javi

Model-View-Controller (MVC) je dobro znan oblikovalski vzorec na področju spletnega razvoja. To je način za organiziranje naše kode. Določa, da mora biti program ali aplikacija sestavljena iz podatkovnega modela, predstavitvenih informacij in nadzornih informacij. Vzorec MVC mora vse te komponente ločiti kot različne objekte.

V tem razdelku bomo razpravljali o arhitekturi MVC v Javi, skupaj z njenimi prednostmi in slabostmi ter primeri za razumevanje implementacije MVC v Javi.

Kaj je arhitektura MVC v Javi?

Zasnove modela, ki temeljijo na arhitekturi MVC, sledijo vzorcu oblikovanja MVC. Pri načrtovanju programske opreme z modelnimi zasnovami je logika aplikacije ločena od uporabniškega vmesnika.

prenesite autocad 2019 english mediafire

Arhitektura vzorca MVC je sestavljena iz treh plasti:

    Model:Predstavlja poslovni sloj aplikacije. Je predmet za prenos podatkov, ki lahko vsebuje tudi logiko za posodobitev krmilnika, če se podatki spremenijo.Pogled:Predstavlja predstavitveni sloj aplikacije. Uporablja se za vizualizacijo podatkov, ki jih model vsebuje.krmilnik:Deluje tako na modelu kot na pogledu. Uporablja se za upravljanje toka aplikacije, tj. pretoka podatkov v objektu modela in za posodobitev pogleda, kadar koli se podatki spremenijo.

V programiranju Java model vsebuje preprosto Razredi Java , pogled, ki se uporablja za prikaz podatkov, krmilnik pa vsebuje servleti . Zaradi te ločitve se zahteve uporabnikov obdelujejo na naslednji način:

Arhitektura MVC v Javi
  1. Odjemalec (brskalnik) pošlje zahtevo krmilniku na strani strežnika za stran.
  2. Krmilnik nato pokliče model. Zbira zahtevane podatke.
  3. Nato krmilnik prenese pridobljene podatke v plast pogleda.
  4. Zdaj pogled pošlje rezultat nazaj v brskalnik (odjemalec).

Prednosti arhitekture MVC

Prednosti arhitekture MVC so naslednje:

  • MVC ima lastnost razširljivosti, ki posledično pomaga pri rasti aplikacije.
  • Komponente so enostavne za vzdrževanje, ker je manj odvisnosti.
  • Model je mogoče ponovno uporabiti v več pogledih, kar zagotavlja ponovno uporabnost kode.
  • Razvijalci lahko delajo s tremi plastmi (model, pogled in krmilnik) hkrati.
  • Z uporabo MVC aplikacija postane bolj razumljiva.
  • Z uporabo MVC se vsak sloj vzdržuje ločeno, zato se nam ni treba ukvarjati z ogromno kodo.
  • Razširitev in testiranje aplikacije je lažje.

Implementacija MVC z uporabo Jave

Za implementacijo vzorca MVC v Javi moramo ustvariti naslednje tri razrede.

    Razred zaposlenih, bo deloval kot sloj modelaRazred EmployeeView, bo deloval kot plast pogledaRazred EmployeeContoller, bo deloval kot krmilni sloj

Arhitekturne plasti MVC

Sloj modela

Model v vzorcu oblikovanja MVC deluje kot podatkovna plast za aplikacijo. Predstavlja poslovno logiko za aplikacijo in tudi stanje aplikacije. Objekt modela pridobi in shrani stanje modela v bazi podatkov. Z uporabo sloja modela se pravila uporabijo za podatke, ki predstavljajo koncepte aplikacije.

Oglejmo si naslednji delček kode, ki ustvari a , kar je tudi prvi korak za implementacijo vzorca MVC.

Zaposleni.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; } } 

Zgornja koda je preprosto sestavljena iz metod getter in setter za razred Employee.

Ogled sloja

Kot že ime pove, pogled predstavlja vizualizacijo podatkov, prejetih iz modela. Sloj pogleda je sestavljen iz izpisa aplikacije ali uporabniškega vmesnika. Odjemalcu pošlje zahtevane podatke, ki jih krmilnik pridobi iz plasti modela.

Vzemimo primer, kjer ustvarimo pogled z uporabo razreda 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); } } 

Plast krmilnika

Sloj krmilnika dobi uporabniške zahteve iz sloja pogleda in jih obdela s potrebnimi validacijami. Deluje kot vmesnik med modelom in pogledom. Zahteve se nato pošljejo modelu za obdelavo podatkov. Ko so obdelani, se podatki pošljejo nazaj v krmilnik in nato prikažejo v pogledu.

Oglejmo si naslednji delček kode, ki ustvari krmilnik z uporabo razreda 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()); } } 

Java datoteka glavnega razreda

Naslednji primer prikazuje glavno datoteko za implementacijo arhitekture MVC. Tukaj uporabljamo razred 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 pridobi podatke o zaposlenih iz metode, kjer smo vnesli vrednosti. Nato te vrednosti potisne v model. Po tem inicializira pogled (EmployeeView.java). Ko je pogled inicializiran, se prikliče krmilnik (EmployeeController.java) in ga poveže z razredom Employee in razredom EmployeeView. Končno metoda updateView() (metoda krmilnika) posodobi podatke o zaposlenih, ki se natisnejo na konzolo.

Izhod:

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

Na ta način smo se seznanili z arhitekturo MVC, pomenom posamezne plasti in njeno implementacijo v Javi.