Kako implementirati arhitekturo MVC v Javo?



Ta članek o arhitekturi MVC v Javi vam bo pomagal razumeti, kaj natančno je vzorec oblikovanja MVC in kako olajša načrtovanje spletnih aplikacij.

V polju Spletni razvoj, Model-View-Controllerje ena najbolj pogovarjanih danes v svetu spletnega programiranja. MVC Architecture je bil sprva vključen v dva glavna okvira za spletni razvoj - Struts in Ruby on Rails . V tem članku raziščimo malo o arhitekturi MVC v .

Teme, ki bodo obravnavane v tem članku, so naslednje:





Preden dejansko gV tehničnih vidikih arhitekture MVC obstajajo določeni koncepti, ki jih morate poznati.

  • Vzorec oblikovanja , v programskem inženirstvu, je tehnika za reševanje najpogostejših problemov pri načrtovanju programske opreme.
  • Oblikovanje modela, določa, katero vrsto arhitekture uporabljate za rešitev problema ali oblikovanje modela.
  • Obstajata dve vrste oblikovalskih modelov : Model 1 Arhitektura , Arhitektura modela 2 (MVC).

Kaj je arhitektura MVC v Javi?

Modeli, ki temeljijo na arhitekturi MVC, sledijo MVC in ločujejo aplikacijsko logiko od uporabniškega vmesnika pri načrtovanju programske opreme. Kot že ime pove, ima vzorec MVC tri plasti, in sicer:



pl sql vadnica za razvijalce za začetnike
  • Model - Predstavlja poslovno plast aplikacije
  • Pogled - Določa predstavitev aplikacije
  • Krmilnik - Upravlja potek aplikacije

MVC - MVC Arhitektura v Javi - Edureka

V kontekstu programiranja JavaModel je sestavljen iz preprostih Razredi Java , pogled prikaže podatke in krmilnik je sestavljen iz . Ta ločitev povzroči, da se zahteve uporabnikov obdelajo na naslednji način:



  1. Brskalnik na odjemalcu pošlje zahtevo za stran krmilniku, ki je prisoten na strežniku
  2. Krmilnik izvede dejanje priklica modela in s tem pridobi podatke, ki jih potrebuje kot odgovor na zahtevo
  3. Nato krmilnik da pridobljene podatke v pogled
  4. Pogled se upodobi in pošlje nazaj odjemalcu, da ga brskalnik prikaže

Ločevanje programske aplikacije nate tri različne komponente so dobra ideja iz več razlogov. Oglejmo si, kaj so to.

Prednosti arhitekture MVC v Javi

Arhitektura MVC ponuja programerju veliko prednosti pri razvoju aplikacij, med katere spadajo:

  • Več razvijalcev lahko hkrati dela s tremi sloji (Model, View in Controller)
  • Izboljšane ponudbe razširljivost , ki dopolnjuje sposobnost aplikacije, da raste
  • Ker imajo komponente medsebojno majhno odvisnost, jih je enostavno vzdrževati
  • Model je mogoče ponovno uporabiti v več pogledih, kar zagotavlja ponovno uporabo kode
  • S sprejetjem MVC je aplikacija bolj izrazita in enostavna za razumevanje
  • Razširitev in testiranje aplikacije postane enostavno

Zdaj veste, zakaj je MVC najbolj priljubljen v svetu spletnega programiranja. Ampak, če se še vedno trudite, da bi si razmislili o konceptu MVC, ne skrbite. Poglobili se bomo v vsako od teh plasti in se s pomočjo orodja .

Izvajanje MVC z uporabo Jave

Za izvedbo spletne aplikacije, ki temelji na vzorcu oblikovanja MVC, bomo ustvarili

pmi-acp se splača
  • Predmet , ki deluje kot modelna plast
  • CourseView Class , ki definira predstavitveni sloj ( pogled sloj )
  • Razred CourseContoller , ki deluje kot a krmilnik

Zdaj pa raziščimo te plasti enega za drugim.

Model Layer

V vzorcu oblikovanja MVC je model je podatkovna plast, ki definira poslovno logiko sistema in predstavlja tudi stanje aplikacije.Model predmetov pridobivanje in shranjevanje stanja modela v bazo podatkov. Skozi to plast uporabljamo pravila za podatke, ki sčasoma predstavljajo koncepte, ki jih upravlja naša aplikacija. Zdaj pa ustvarimo model z uporabo Predmet.

paket MyPackage javni tečaj {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 (Ime niza) {this.CourseName = name} javni niz getCategory () {return CourseCategory} javna void setCategory (kategorija niza) {this.CourseCategory = kategorija}}

Koda je enostavna za razumevanje in je samoumevna. Sestavljen je iz funkcij za pridobivanje / nastavitev podrobnosti tečaja.

Sloj pogleda

Ta plast vzorca oblikovanja MVC predstavlja rezultat aplikacije ali uporabniškega vmesnika. Prikaže podatke, ki jih krmilnik pridobi iz sloja modela, in jih po potrebi predloži uporabniku. jazt od upravljavca prejme vse informacije, ki jih potrebuje, in mu ni treba neposredno komunicirati s poslovno plastjo.Ustvarimo pogled z uporabo CourseView Class.

paket MyPackage javni razred CourseView {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('Podrobnosti o tečaju:') System.out.println ('Name:' + CourseName) System.out.println ('ID tečaja:' + CourseId) System.out.println ('Kategorija tečaja:' + CourseCategory)}}

Ta koda jepreprosto za tiskanje vrednosti na konzolo. Nato imamo krmilnik spletne aplikacije.

Krmilna plast

Krmilnik je kot vmesnik med modelom in pogledom. Prejema uporabniške zahteve iz sloja pogleda in jih obdeluje, vključno s potrebnimi validacijami. Zahteve se nato pošljejo modelu za obdelavo podatkov. Ko so obdelani, se podatki znova pošljejo nazaj krmilniku in nato prikažejo v pogledu.Ustvarjajmo Razred CourseContoller ki deluje kot krmilnik.

paket MyPackage javni razred CourseController {zasebni model tečaja zasebni pogled CourseView javni CourseController (model tečaja, pogled CourseView) {this.model = model this.view = view} javna void setCourseName (ime niza) {model.setName (name)} javni niz getCourseName () {return model.getName ()} public void setCourseId (ID niza) {model.setId (id)} public String getCourseId () {return model.getId ()} public void setCourseCategory (kategorija niza) {model.setCategory (category)} javni niz getCourseCategory () {return model.getCategory ()} public void updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

Že bežen pogled na kodo nam bo povedal, da je ta razred krmilnika samo odgovoren za klic modela, da pridobi / nastavi podatke in na podlagi tega posodobi pogled. Zdaj papoglejte, kako so vsi ti povezani.

Glavni razred Java

Pokličimo ta razred 'MVCPatternDemo.java'. Oglejte si spodnjo kodo.

paket MyPackage javni razred MVCPatternDemo {public static void main (String [] args) {// pridobi zapis študenta na podlagi njegovega števila iz baze podatkov Model tečaja = retriveCourseFromDatabase () // Ustvari pogled: za zapis podrobnosti o tečaju v pogledu konzole CourseView = new CourseView () CourseController krmilnik = new CourseController (model, pogled) controller.updateView () // update model data controller.setCourseName ('Python') System.out.println ('nPo posodobitvi so podrobnosti o tečaju naslednje') controller.updateView ()} zasebni statični tečaj retriveCourseFromDatabase () {Tečaj tečaja = nov Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programiranje ') povratni tečaj}}

Zgornji razredpridobi podatke o tečaju iz s pomočjo katerega uporabnik vnese niz vrednosti. Nato te vrednote potisne v model predmeta. Nato inicializira pogled, ki smo ga ustvarili prej v članku.Poleg tega se sklicuje tudi na CourseController razred in ga veže na Seveda razred in CourseView razred. The updateView () metoda, ki je del krmilnika, nato na konzoli posodobi podrobnosti o tečaju. Oglejte si spodnji izhod.

print_r v niz

Izhod

Podrobnosti o predmetu: Ime: ID tečaja Java: 01 Kategorija predmeta: Programiranje Po posodobitvi so podrobnosti o tečaju naslednje: Podrobnosti o predmetu: Ime: Python ID predmeta: 01 Kategorija predmeta: Programiranje

Arhitektura MVCzagotavlja popolnoma novo stopnjo modularnosti vaše kode, zaradi česar je veliko bolj berljiva in vzdržna. S tem smo na koncu tega članka.Upam, da ste na jasnem z vsem, kar ste delili z vami.

Poskrbite, da boste čim več vadili in si povrnili izkušnje.

Oglejte si Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, razširjenih po vsem svetu. Tu smo, da vam pomagamo pri vsakem koraku na poti, pripravili smo učni načrt, ki je zasnovan za študente in strokovnjake, ki želijo biti razvijalec Java.

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje te 'MVC Arhitektura v Javi' članek in se vam bomo javili v najkrajšem možnem času.