logo

MVC arhitektūra Java

Model-View-Controller (MVC) ir labi zināms dizaina modelis tīmekļa izstrādes jomā. Tas ir veids, kā sakārtot mūsu kodu. Tas nosaka, ka programma vai lietojumprogramma sastāv no datu modeļa, prezentācijas informācijas un kontroles informācijas. MVC modelim visi šie komponenti ir jāatdala kā dažādi objekti.

Šajā sadaļā mēs apspriedīsim MVC arhitektūru Java, kā arī tās priekšrocības un trūkumus, kā arī piemērus, lai izprastu MVC ieviešanu Java.

Kas ir Java MVC arhitektūra?

Modeļu modeļi, kuru pamatā ir MVC arhitektūra, atbilst MVC dizaina modelim. Programmatūras projektēšanas laikā, izmantojot modeļu dizainus, lietojumprogrammu loģika ir atdalīta no lietotāja interfeisa.

linux failu sistēma

MVC modeļa arhitektūra sastāv no trim slāņiem:

    Modelis:Tas atspoguļo biznesa lietojumprogrammas līmeni. Tas ir datu pārnēsāšanas objekts, kas var saturēt arī kontroliera atjaunināšanas loģiku, ja dati tiek mainīti.Skatīt:Tas attēlo lietojumprogrammas prezentācijas slāni. To izmanto, lai vizualizētu modelī ietvertos datus.Kontrolieris:Tas darbojas gan modelī, gan skatā. To izmanto, lai pārvaldītu lietojumprogrammu plūsmu, t.i., datu plūsmu modeļa objektā un atjauninātu skatu ikreiz, kad tiek mainīti dati.

Java programmēšanā modelis satur vienkāršu Java klases , skats, ko izmanto datu parādīšanai, un kontrolieris satur servleti . Šīs atdalīšanas dēļ lietotāju pieprasījumi tiek apstrādāti šādi:

MVC arhitektūra Java
  1. Klients (pārlūkprogramma) nosūta servera puses kontrollerim pieprasījumu par lapu.
  2. Pēc tam kontrolieris izsauc modeli. Tas apkopo pieprasītos datus.
  3. Pēc tam kontrolieris pārsūta izgūtos datus uz skata slāni.
  4. Tagad skats rezultātu nosūta atpakaļ pārlūkprogrammai (klientam).

MVC arhitektūras priekšrocības

MVC arhitektūras priekšrocības ir šādas:

  • MVC ir mērogojamības iezīme, kas savukārt veicina lietojumprogrammu izaugsmi.
  • Komponentus ir viegli uzturēt, jo ir mazāka atkarība.
  • Modeli var atkārtoti izmantot vairākos skatos, kas nodrošina koda atkārtotu izmantošanu.
  • Izstrādātāji var strādāt ar trim slāņiem (modelis, skats un kontrolieris) vienlaikus.
  • Izmantojot MVC, lietojumprogramma kļūst saprotamāka.
  • Izmantojot MVC, katrs slānis tiek uzturēts atsevišķi, tāpēc mums nav jārisina masīvs kods.
  • Lietojumprogrammas paplašināšana un testēšana ir vienkāršāka.

MVC ieviešana, izmantojot Java

Lai ieviestu MVC modeli Java, mums ir jāizveido šādas trīs klases.

    Darbinieku klase, darbosies kā modeļa slānisEmployeeView klase, darbosies kā skata slānisEmployeeContoller klase, darbosies kā kontroliera slānis

MVC arhitektūras slāņi

Modeļa slānis

Modelis MVC dizaina modelī darbojas kā lietojumprogrammas datu slānis. Tas atspoguļo lietojumprogrammas biznesa loģiku un arī piemērošanas stāvokli. Modeļa objekts iegūst un saglabā modeļa stāvokli datu bāzē. Izmantojot modeļa slāni, datiem, kas atspoguļo lietojuma jēdzienus, tiek piemēroti noteikumi.

Apskatīsim tālāk norādīto koda fragmentu, kas izveido MVC modeļa ieviešanu, kas ir arī pirmais solis.

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

Iepriekš minētais kods vienkārši sastāv no ieguvēja un iestatītāja metodēm uz darbinieku klasi.

Skatīt slāni

Kā norāda nosaukums, skats attēlo no modeļa saņemto datu vizualizāciju. Skata slānis sastāv no lietojumprogrammas vai lietotāja interfeisa izvades. Tas klientam nosūta pieprasītos datus, kurus kontrolieris iegūst no modeļa slāņa.

Ņemsim piemēru, kur mēs izveidojam skatu, izmantojot EmployeeView klasi.

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); } } 

Kontrollera slānis

Kontroliera slānis saņem lietotāja pieprasījumus no skata slāņa un apstrādā tos ar nepieciešamajām validācijām. Tas darbojas kā saskarne starp modeli un skatu. Pēc tam pieprasījumi tiek nosūtīti uz modeli datu apstrādei. Kad tie ir apstrādāti, dati tiek nosūtīti atpakaļ uz kontrolieri un pēc tam tiek parādīti skatā.

Apskatīsim šādu koda fragmentu, kas izveido kontrolieri, izmantojot EmployeeController klasi.

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()); } } 

Galvenās klases Java fails

Nākamajā piemērā ir parādīts galvenais fails, lai ieviestu MVC arhitektūru. Šeit mēs izmantojam MVCMain klasi.

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 klase ienes darbinieka datus no metodes, kurā esam ievadījuši vērtības. Pēc tam tas nospiež šīs vērtības modelī. Pēc tam tas inicializē skatu (EmployeeView.java). Kad skats ir inicializēts, tiek izsaukts kontrolieris (EmployeeController.java), kas saista to ar Employee klasi un EmployeeView klasi. Beidzot metode updateView() (kontroliera metode) atjaunina darbinieku informāciju, kas jādrukā konsolē.

Izvade:

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

Tādā veidā esam uzzinājuši par MVC arhitektūru, katra slāņa nozīmi un tā ieviešanu Java.