Kaip įdiegti MVC architektūrą „Java“?



Šis straipsnis apie „MVC Architecture Java“ padės jums suprasti, kas tiksliai yra „MVC“ dizaino modelis ir kaip tai leidžia lengvai kurti žiniatinklio programas.

Lauke Žiniatinklio plėtra „Model-View-Controller“yra vienas iš labiausiai kalbamų žiniatinklio programavimo pasaulyje. „MVC Architecture“ iš pradžių buvo įtraukta į dvi pagrindines interneto kūrimo sistemas - „Struts“ ir Rubinas ant bėgių . Šiame straipsnyje šiek tiek panagrinėkime MVC architektūrą .

Šiame straipsnyje aptariamos šios temos:





Kol mes iš tikrųjų gĮ MVC architektūros techninius aspektus reikia žinoti tam tikras sąvokas.

  • Dizaino raštas , programinės įrangos inžinerijos srityje, yra technika, padedanti išspręsti dažnai pasitaikančią problemą kuriant programinę įrangą.
  • Projektavimo modelis, nurodo, kokio tipo architektūrą naudojate problemai išspręsti ar modeliui sukurti.
  • Yra du dizaino modelių tipai : 1 modelio architektūra , 2 modelio (MVC) architektūra.

Kas yra MVC architektūra „Java“?

Modelių projektai, pagrįsti MVC architektūra, atitinka MVC ir kurdami programinę įrangą jie atskiria programų logiką nuo vartotojo sąsajos. Kaip rodo pavadinimas, MVC modelis turi tris sluoksnius, kurie yra:



  • Modelis - Atstovauja verslo verslo sluoksnį
  • Vaizdas - apibrėžia programos pateikimą
  • Valdiklis - Tvarko programos srautą

MVC - MVC architektūra Java - „Edureka“

„Java“ programavimo kontekstemodelis susideda iš paprasto „Java“ klasės , rodinyje rodomi duomenys ir valdiklis . Dėl šio atskyrimo naudotojo užklausos apdorojamos taip:



  1. Kliento naršyklė siunčia puslapio užklausą serveryje esančiam valdikliui
  2. Valdiklis atlieka modelio iškvietimo veiksmą ir taip gauna duomenis, kurių jam reikia atsakant į užklausą
  3. Tada valdiklis perduoda gautus duomenis rodiniui
  4. Rodinys pateikiamas ir siunčiamas atgal klientui, kad būtų rodoma naršyklė

Programinės įrangos atskyrimas įšie trys skirtingi komponentai yra gera idėja dėl daugelio priežasčių. Pažvelkime, kas tai yra.

MVC architektūros „Java“ pranašumai

MVC architektūra siūlo daug privalumų programuotojui kuriant programas, kurios apima:

  • Keli kūrėjai vienu metu gali dirbti su trimis sluoksniais („Model“, „View“ ir „Controller“)
  • Pasiūlymai pagerėjo mastelis , kuris papildo programos galimybes augti
  • Kadangi komponentai mažai priklauso vieni nuo kitų, juos lengva prižiūrėti
  • Modelis gali būti pakartotinai naudojamas keliuose rodiniuose, kurie suteikia galimybę pakartotinai naudoti kodą
  • Priėmus MVC, programa tampa išraiškingesnė ir lengviau suprantama
  • Paprasta išplėsti ir išbandyti programą

Dabar jūs žinote, kodėl MVC yra populiariausias žiniatinklio programavimo pasaulyje. Bet, jei vis dar stengiatės apgauti MVC koncepciją, nesijaudinkite. Mes įsigilinsime į kiekvieną iš šių sluoksnių ir sužinosime jų paskirtį .

MVC diegimas naudojant Java

Norėdami sukurti žiniatinklio programą, pagrįstą MVC dizaino modeliu, mes sukursime

  • Kurso klasė , kuris veikia kaip modelio sluoksnis
  • „CourseView“ klasė , kuris apibrėžia pateikimo sluoksnį ( peržiūros sluoksnis )
  • „CourseColloller“ klasė , kuris veikia kaip a valdiklis

Dabar panagrinėkime šiuos sluoksnius po vieną.

kas yra span žymė HTML

Modelio sluoksnis

Pagal MVC dizaino modelį modelis yra duomenų sluoksnis, apibrėžiantis sistemos verslo logiką, taip pat nurodantis programos būseną.Modelis objektai gauti ir išsaugoti modelio būseną duomenų bazėje. Per šį sluoksnį mes taikome taisykles duomenims, kurie galiausiai atspindi mūsų programos valdomas sąvokas. Dabar sukurkime modelį naudodami Kurso klasė.

paketas „MyPackage“ viešosios klasės kursas {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 (String name) {this.CourseName = name} public String getCategory () {return CourseCategory} public void setCategory (String category) {this.CourseCategory = category}}

Kodas lengvai suprantamas ir savaime suprantamas. Jį sudaro funkcijos gauti / nustatyti išsamią informaciją.

Vaizdo sluoksnis

Šis MVC dizaino modelio sluoksnis reiškia programos ar vartotojo sąsajos išvestį. Tai rodo duomenis, kuriuos valdiklis gavo iš modelio sluoksnio, ir pateikia duomenis vartotojui, kai to paprašoma. Ašt gauna visą reikalingą informaciją iš valdiklio ir jai nereikia tiesiogiai bendrauti su verslo sluoksniu.Sukurkime rodinį naudodami „CourseView“ klasė.

paketas „MyPackage“ viešoji klasė „CourseView“ {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('Course Details:') System.out.println ('Name:' + CourseName) System.out.println ('Kurso ID:' + CourseId) System.out.println ('Kurso kategorija:' + CourseCategory)}}

Šis kodas yrapaprasčiausiai atspausdinti reikšmes į konsolę. Toliau turime žiniatinklio programos valdiklį.

Valdiklio sluoksnis

Valdiklis yra tarsi „Model“ ir „View“ sąsaja. Jis gauna vartotojo užklausas iš rodinio sluoksnio ir jas apdoroja, įskaitant būtinus patvirtinimus. Tada užklausos siunčiamos duomenų apdorojimo modeliui. Apdorojus duomenis, duomenys vėl siunčiami valdikliui ir rodomi rodinyje.Kurkime „CourseColloller“ klasė kuris veikia kaip kontrolierius.

paketas „MyPackage“ viešoji klasė „CourseController“ {private Course model private CourseView view public CourseController (Course model, CourseView view) {this.model = model this.view = view} public void setCourseName (String name) {model.setName (name)} public String getCourseName () {return model.getName ()} public void setCourseId (String id) {model.setId (id)} public String getCourseId () {return model.getId ()} public void setCourseCategory (String category) {model.setCategory (kategorija)} viešoji eilutė getCourseCategory () {return model.getCategory ()} public void updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

Viršutinis žvilgsnis į kodą mums pasakys, kad ši valdiklio klasė yra tiesiog atsakinga už modelio iškvietimą, norint gauti / nustatyti duomenis, ir atnaujinti rodinį, remiantis tuo. Dabar tegulpažiūrėkite, kaip visa tai yra susieta.

Pagrindinė „Java“ klasė

Pavadinkime šią klasę „MVCPatternDemo.java“. Patikrinkite žemiau esantį kodą.

paketas „MyPackage“ viešoji klasė „MVCPatternDemo“ {public static void main (String [] args) {// pareikšti studento įrašą pagal jo vardo numerį iš duomenų bazės Course model = retriveCourseFromDatabase () // Sukurti rodinį: kurso informacijos rašymas konsolės CourseView rodinyje = naujas „CourseView“ () „CourseController“ valdiklis = naujas „CourseController“ (modelis, rodinys) valdiklis.updateView () // atnaujinti modelio duomenų valdiklį.setCourseName ('Python') System.out.println ('nAtnaujinus, kurso informacija yra tokia') controller.updateView ()} privatus statinis kursas retriveCourseFromDatabase () {Course course = new Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programming ') return course}}

Aukščiau klasėatneša kurso duomenis iš kuris vartotojas įveda reikšmių rinkinį. Tada tas vertybes įtraukia į „Course“ modelį. Tada jis inicijuoja anksčiau straipsnyje sukurtą rodinį.Be to, jis taip pat remiasi „CourseController“ klasę ir susieja ją su Žinoma klasė ir „CourseView“ klasė. The „updateView“ () metodas, kuris yra valdiklio dalis, tada konsole atnaujina išsamią kursų informaciją. Patikrinkite žemiau pateiktą išvestį.

Rezultatas

Išsami informacija apie kursą: Pavadinimas: Java Kurso ID: 01 Kurso kategorija: Programavimas Atnaujinus, informacija apie kursą yra tokia: Pavadinimas: Python Kurso ID: 01 Kurso kategorija: Programavimas

MVC architektūrasuteikia visiškai naują modulio jūsų kodui lygį, todėl jis yra daug lengviau skaitomas ir prižiūrimas. Tai priveda prie šio straipsnio pabaigos.Tikiuosi, kad jums aišku viskas, kas su jumis pasidalinta.

Įsitikinkite, kad praktikuojate kuo daugiau ir grąžinkite savo patirtį.

Patikrinkite sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje. Mes norime jums padėti kiekviename jūsų kelionės žingsnyje, mes parengėme mokymo programą, skirtą studentams ir specialistams, norintiems būti „Java“ kūrėjais.

Turite mums klausimą? Prašau paminėti tai „MVC Architecture in Java“ komentarų skyriuje straipsnį ir mes kuo greičiau susisieksime su jumis.