Kako implementirati MVC arhitekturu u Javi?



Ovaj članak o MVC arhitekturi na Javi pomoći će vam da shvatite što je točno MVC obrazac dizajna i kako olakšava dizajniranje web aplikacija.

U polju Web razvoj, Model-View-Controllerje jedan o kojem se najviše govori u svijetu web programiranja danas. MVC Arhitektura je u početku bila uključena u dva glavna okvira za web razvoj - Struts i Ruby na tračnicama . U ovom članku istražimo malo o MVC Arhitekturi u .

Teme koje će biti obrađene u ovom članku su sljedeće:





Prije nego što zapravo gU tehničke detalje MVC Arhitekture postoje određeni koncepti koje trebate znati.

  • Uzorak dizajna , u softverskom inženjerstvu, tehnika je rješavanja uobičajenog problema pri dizajniranju softvera.
  • Dizajn modela, određuje koju vrstu arhitekture koristite za rješavanje problema ili dizajniranje modela.
  • Postoje dva vrste dizajnerskih modela : Model 1 Arhitektura , Arhitektura modela 2 (MVC).

Što je MVC arhitektura u Javi?

Model dizajna zasnovan na MVC arhitekturi slijedi MVC i odvajaju logiku aplikacije od korisničkog sučelja prilikom dizajniranja softvera. Kao što naziv implicira, MVC uzorak ima tri sloja, a to su:



  • Model - Predstavlja poslovni sloj aplikacije
  • Pogled - definira prezentaciju prijave
  • Kontroler - Upravlja protokom aplikacije

MVC - MVC arhitektura u Javi - Edureka

U kontekstu programiranja Java,model se sastoji od jednostavnih Java satovi , prikaz prikazuje podatke i upravljač se sastoji od . Ovo razdvajanje rezultira time da se zahtjevi korisnika obrađuju na sljedeći način:



  1. Preglednik na klijentu šalje zahtjev za stranicu upravljaču koji je prisutan na poslužitelju
  2. Upravljač izvodi radnju pozivanja modela, čime dohvaća podatke koji su mu potrebni kao odgovor na zahtjev
  3. Zatim kontroler daje preuzete podatke u prikaz
  4. Prikaz se generira i šalje natrag klijentu kako bi se preglednik prikazao

Razdvajanje softverske aplikacije uove su tri različite komponente dobra ideja iz više razloga. Pogledajmo što su to.

postavljanje hadoopa na ubuntu

Prednosti MVC arhitekture u Javi

MVC arhitektura nudi puno prednosti programeru pri razvoju aplikacija, koje uključuju:

  • Više programera može istodobno raditi s tri sloja (Model, View i Controller)
  • Poboljšane ponude skalabilnost , koji nadopunjuje sposobnost aplikacije da raste
  • Kako komponente međusobno slabo ovise, lako ih je održavati
  • Model se može ponovno koristiti u više pogleda što omogućava ponovnu upotrebu koda
  • Usvajanjem MVC-a aplikacija postaje izražajnija i jednostavnija za razumijevanje
  • Proširivanje i testiranje aplikacije postaje jednostavno

Sada znate zašto je MVC najpopularniji u svijetu web programiranja. Ali, ako se i dalje borite da zaobiđete koncept MVC-a, ne brinite. Zakopat ćemo duboko u svaki od ovih slojeva i naučiti njihovu svrhu uz pomoć .

Implementacija MVC-a pomoću Jave

Za implementaciju web aplikacije koja se temelji na uzorku dizajna MVC, mi ćemo stvoriti

  • Razred tečaja , koji djeluje kao sloj modela
  • CourseView Class , koji definira prezentacijski sloj ( sloj pogleda )
  • Razred CourseContoller , koji djeluje kao a kontrolor

Istražimo sada ove slojeve jedan po jedan.

Sloj modela

U uzorku dizajna MVC, model je podatkovni sloj koji definira poslovnu logiku sustava i također predstavlja stanje aplikacije.Model predmeta dohvatiti i pohraniti stanje modela u bazu podataka. Kroz ovaj sloj primjenjujemo pravila na podatke, što na kraju predstavlja koncepte kojima naša aplikacija upravlja. Ajmo sada stvoriti model pomoću Razred tečaja.

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

Kôd je lako razumljiv i sam po sebi je objašnjiv. Sastoji se od funkcija za dobivanje / postavljanje detalja tečaja.

Sloj pogleda

Ovaj sloj uzorka dizajna MVC predstavlja izlaz aplikacije ili korisničkog sučelja. Prikazuje podatke koje je kontroler dohvatio iz sloja modela i prikazuje ih korisniku kad god se to zatraži. Jat prima sve potrebne informacije od kontrolora i ne treba izravno komunicirati s poslovnim slojem.Stvorimo pogled pomoću CourseView Class.

paket MyPackage javna klasa CourseView {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('Pojedinosti kursa:') System.out.println ('Name:' + CourseName) System.out.println ('ID tečaja:' + CourseId) System.out.println ('Kategorija tečaja:' + CourseCategory)}}

Ovaj kod jejednostavno za ispis vrijednosti na konzolu. Dalje imamo kontroler web aplikacije.

Sloj kontrolera

Kontroler je poput sučelja između modela i prikaza. Prima korisničke zahtjeve od sloja pogleda i obrađuje ih, uključujući potrebne provjere valjanosti. Zahtjevi se zatim šalju modelu za obradu podataka. Nakon što se obrade, podaci se ponovno šalju natrag upravljaču i zatim prikazuju na prikazu.Stvorimo Razred CourseContoller koji djeluje kao kontrolor.

paket MyPackage javna klasa CourseController {privatni model tečaja private CourseView prikaz javni CourseController (model tečaja, prikaz 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 (kategorija)} javni niz getCourseCategory () {return model.getCategory ()} javna praznina updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

Letimičan pogled na kôd reći će nam da je ova klasa kontrolera samo odgovorna za pozivanje modela radi dobivanja / postavljanja podataka i ažuriranje prikaza na temelju toga. Ajmo sadpogledajte kako su sve to povezane.

Glavna klasa Java

Nazovimo ovu klasu 'MVCPatternDemo.java'. Pogledajte kod u nastavku.

paket MyPackage javna klasa MVCPatternDemo {javna statička void glavna (String [] args) {// dohvati zapis učenika na osnovu njegovog broja ne iz baze podataka Model tečaja = retriveCourseFromDatabase () // Stvori prikaz: za pisanje detalja o tečaju na prikazu CourseView konzole = novi CourseView () CourseController kontroler = novi CourseController (model, pogled) controller.updateView () // ažuriraj model podataka controller.setCourseName ('Python') System.out.println ('nNakon ažuriranja, detalji tečaja su sljedeći') controller.updateView ()} privatni statički tečaj retriveCourseFromDatabase () {Tečaj tečaja = novi Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programming ') return course}}

Gornja klasadohvaća podatke o tečaju iz pomoću kojeg korisnik unosi skup vrijednosti. Zatim te vrijednosti gura u model Tečaja. Zatim inicijalizira prikaz koji smo stvorili ranije u članku.Dalje, također poziva na CourseController klase i veže je na Tečaj razred i CourseView razred. The updateView () metoda koja je dio kontrolera zatim ažurira detalje kursa na konzoli. Pogledajte izlaz u nastavku.

Izlaz

Pojedinosti o tečaju: Naziv: Java ID tečaja: 01 Kategorija tečaja: Programiranje Nakon ažuriranja, detalji tečaja su sljedeći Pojedinosti o tečaju: Ime: Python ID tečaja: 01 Kategorija tečaja: Programiranje

Arhitektura MVCpruža potpuno novu razinu modularnosti vašeg koda što ga čini puno čitljivijim i održivijim. Ovo nas dovodi do kraja ovog članka.Nadam se da vam je jasno sa svime što je s vama podijeljeno.

Obavezno vježbajte što je više moguće i vratite svoje iskustvo.

plitka kopija vs duboka kopija java

Pogledajte Edureka, pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Ovdje smo da vam pomognemo u svakom koraku na putu, osmislili smo nastavni plan i program koji je namijenjen studentima i profesionalcima koji žele biti programer Java.

Imate pitanje za nas? Molimo navedite ga u odjeljku za komentare ove 'MVC arhitekture u Javi' članka i javit ćemo vam se u najkraćem mogućem roku.