Kuidas rakendada MVC arhitektuuri Java-s?



See Java MVC arhitektuuri käsitlev artikkel aitab teil mõista, mis täpselt on MVC kujundusmuster ja kuidas see muudab veebirakenduste kujundamise lihtsaks.

Veebiarenduse väljal Model-View-Controlleron üks enim räägitud tänapäeval veebiprogrammeerimise maailmas. MVC arhitektuur lisati algselt kahte peamisse veebiarenduse raamistikku - Struts ja Rubiin rööbastel . Selles artiklis uurime veidi MVC arhitektuuri kohta aastal .

Selles artiklis käsitletavad teemad on järgmised:





Enne kui me tegelikult gMVC arhitektuuri tehnilistesse omadustesse on teatud mõisted, mida peate teadma.

  • Kujundusmuster on tarkvaratehnikas tehnika tarkvara kavandamisel levinud probleemi lahendamiseks.
  • Projekteerimine mudel, määrab, millist tüüpi arhitektuuri probleemi lahendamiseks või mudeli kujundamiseks kasutate.
  • On kaks disainmudelite tüübid : 1. mudeli arhitektuur , Mudel 2 (MVC) arhitektuur.

Mis on MVC arhitektuur Java-s?

MVC arhitektuuril põhinevad mudelikujundused järgivad MVC-d ja nad eraldavad tarkvara kujundamisel rakendusloogika kasutajaliidesest. Nagu nimigi ütleb, on MVC mustril kolm kihti, mis on:



  • Mudel - esindab rakenduse ärikihti
  • Vaade - määratleb rakenduse esitluse
  • Kontroller - haldab rakenduse voogu

MVC - MVC arhitektuur Java-s - Edureka

Java programmeerimise kontekstismudel koosneb lihtsast Java klassid , kuvab vaade andmed ja kontroller koosneb . Selle eraldamise tulemusel töödeldakse kasutajapäringuid järgmiselt:



õppimine ssis samm-sammult
  1. Kliendi brauser saadab lehel päringu serveris olevale kontrollerile
  2. Kontroller teostab mudeli käivitamise toimingu, hankides seeläbi päringule vastuseks vajalikud andmed
  3. Seejärel annab kontroller allalaaditud andmed vaatele
  4. Vaade renderdatakse ja saadetakse kliendile brauseri kuvamiseks tagasi

Tarkvararakenduse lahutamineneed kolm erinevat komponenti on hea mõte mitmel põhjusel. Vaatame, mis need on.

MVC arhitektuuri eelised Java-s

MVC arhitektuur pakub programmeerijale rakenduste arendamisel palju eeliseid, sealhulgas:

  • Mitu arendajat saavad korraga töötada kolme kihiga (mudel, vaade ja kontroller)
  • Pakkumised paranesid mastaapsus , mis täiendab rakenduse võimet kasvada
  • Kuna komponendid sõltuvad üksteisest vähe, on neid lihtne hooldada
  • Mudelit saab taaskasutada mitme kuvaga, mis tagab koodi korduvkasutatavuse
  • MVC vastuvõtmine muudab rakenduse väljendusrikkamaks ja hõlpsasti mõistetavaks
  • Rakenduse laiendamine ja testimine muutub lihtsaks

Nüüd teate, miks on MVC kõige populaarsem veebiprogrammeerimise maailmas. Kuid kui teil on ikka veel probleeme MVC kontseptsiooni välja saamiseks, ärge muretsege. Me uurime neid kihte sügavuti ja õpime nende abil eesmärki .

MVC juurutamine Java abil

MVC kujundusmustril põhineva veebirakenduse juurutamiseks loome

  • Kursuse klass , mis toimib kui mudeli kiht
  • CourseView klass , mis määratleb esitluskihi ( vaate kiht )
  • CourseCollolleri klass , mis toimib a kontroller

Uurime nüüd neid kihte ükshaaval.

Näidiskiht

MVC kujundusmustris on mudel on andmekiht, mis määratleb süsteemi äriloogika ja esindab ka rakenduse olekut.Mudel objektid hankida ja salvestada mudeli olek andmebaasi. Selle kihi kaudu rakendame andmete suhtes reegleid, mis lõpuks esindavad meie rakenduse hallatavaid mõisteid. Nüüd loome mudeli abil Kursuse klass.

pakett MyPackage public class Course {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 (Stringi nimi) {this.CourseName = name} public String getCategory () {return CourseCategory} public void setCategory (String category) {this.CourseCategory = category}}

Kood on kergesti mõistetav ja on iseenesestmõistetav. See koosneb funktsioonidest kursuse üksikasjade hankimiseks / määramiseks.

Vaate kiht

See MVC kujundusmustri kiht tähistab rakenduse või kasutajaliidese väljundit. See kuvab andmed, mis kontroller on mudeli kihist hankinud, ja esitab andmed kasutajale, kui seda palutakse. Minat saab kogu vajaliku teabe kontrollerilt ja tal pole vaja ärikihiga otse suhelda.Loome vaate, kasutades CourseView klass.

pakett MyPackage public class CourseView {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('Kursuse üksikasjad:') System.out.println ('Nimi:' + Kursuse nimi) System.out.println ('Kursuse ID:' + CourseId) System.out.println ('Kursuse kategooria:' + Kursuse kategooria)}}

See kood onlihtsalt väärtuste konsooli printimiseks. Järgmisena on meil veebirakenduse kontroller.

string kuupäevaks teisendamiseks javas

Kontrolleri kiht

Kontroller on nagu liides mudeli ja vaate vahel. See võtab vaatluskihilt vastu kasutaja päringud ja töötleb neid, sealhulgas vajalikke valideerimisi. Seejärel saadetakse päringud andmetöötluse mudelile. Kui need on töödeldud, saadetakse andmed uuesti kontrollerile tagasi ja kuvatakse seejärel vaates.Loome CourseCollolleri klass mis toimib kontrollerina.

pakett MyPackage public class 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 (kategooria)} public String getCourseCategory () {return model.getCategory ()} public void updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

Pealiskaudne pilk koodile ütleb meile, et see kontrolleriklass vastutab lihtsalt mudeli helistamise eest andmete saamiseks / seadistamiseks ja selle põhjal vaate värskendamiseks. Nüüd lähmeheitke pilk, kuidas kõik need on omavahel seotud.

Java põhiklass

Nimetagem seda klassi „MVCPatternDemo.java“. Vaadake allolevat koodi.

pakett MyPackage avalik klass MVCPatternDemo {public static void main (String [] args) {// tooge andmebaasist tema rullnumbri põhjal õpilasrekord Course model = retriveCourseFromDatabase () // Looge vaade: kursuse üksikasjade kirjutamiseks konsoolile CourseView = uus CourseView () CourseControlleri kontroller = uus CourseController (mudel, vaade) controller.updateView () // värskenda mudeli andmekontrollerit.setCourseName ('Python') System.out.println ('n Pärast värskendamist on kursuse üksikasjad järgmised: controller.updateView ()} privaatne staatiline kursus retriveCourseFromDatabase () {Course course = new Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programming ') return course}}

Ülaltoodud klasstõmbab kursuse andmed mille kasutaja sisestab väärtuste hulga. Seejärel surub need väärtused Course'i mudelisse. Seejärel initsialiseeritakse vaade, mille olime varem artiklis loonud.Lisaks kutsub see üles ka CourseController klassi ja seob selle Kursus klassi ja CourseView klass. The updateView () kontrolleri osaks olev meetod uuendab seejärel konsoolis kursuse üksikasju. Vaadake allpool olevat väljundit.

Väljund

kuidas jaros tostring töötab
Kursuse üksikasjad: Nimi: Java Kursuse ID: 01 Kursuse kategooria: Programmeerimine Pärast värskendamist on kursuse üksikasjad järgmised: Kursuse üksikasjad: Nimi: Python Kursuse ID: 01 Kursuse kategooria: Programmeerimine

MVC arhitektuurpakub teie koodile täiesti uut modulaarsuse taset, mis muudab selle palju loetavamaks ja hooldatavamaks. See viib meid selle artikli lõppu.Loodetavasti on teil selge kõik see, mida teiega on jagatud.

Harjutage kindlasti nii palju kui võimalik ja pöörake oma kogemused tagasi.

Vaadake Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma. Oleme siin, et aidata teil igal sammul teie teekonnal, me pakume välja õppekava, mis on mõeldud õpilastele ja spetsialistidele, kes soovivad olla Java arendajad.

Kas teil on meile küsimus? Palun mainige seda selle Java MVC arhitektuuri kommentaaride osas artikli ja võtame teiega ühendust niipea kui võimalik.