Paano Ipapatupad ang MVC Architecture sa Java?



Ang artikulong ito sa MVC Architecture sa Java ay makakatulong sa iyo na maunawaan kung ano ang eksaktong pattern ng disenyo ng MVC at kung paano ginagawang madali ang pagdidisenyo ng mga web application.

Sa patlang na Pag-unlad ng Web, Model-View-Controlleray isa sa pinaguusapan sa mundo ng web programming ngayon. Ang MVC Architecture ay paunang isinama sa dalawang pangunahing mga balangkas ng pagbuo ng web - Struts at Ruby sa Riles . Sa artikulong ito, galugarin natin nang kaunti ang tungkol sa MVC Architecture sa .

Ang mga paksang saklaw sa artikulong ito ay ang mga sumusunod:





malaking paglalarawan sa trabaho ng developer ng data

Bago pa talaga tayo get sa mga teknikalidad ng MVC Architecture, mayroong ilang mga konsepto na kailangan mong malaman.

  • Pattern ng disenyo , sa software engineering, ay isang pamamaraan upang malutas ang isang karaniwang nangyayari na problema kapag nagdidisenyo ng software.
  • Modelo ng Pagdidisenyo, tinutukoy kung anong uri ng arkitektura ang ginagamit mo upang malutas ang problema o idisenyo ang modelo.
  • Mayroong dalawang mga uri ng mga modelo ng disenyo : Modelong 1 Arkitektura , Arkitektura ng Model 2 (MVC).

Ano ang MVC Architecture sa Java?

Ang mga disenyo ng modelo batay sa arkitektura ng MVC ay sumusunod sa MVC at pinaghiwalay nila ang lohika ng application mula sa interface ng gumagamit kapag nagdidisenyo ng software. Tulad ng ipinahihiwatig ng pangalan ng pattern ng MVC ay may tatlong mga layer, na kung saan ay:



  • Modelo - Kinakatawan ang layer ng negosyo ng application
  • Tingnan - Tinutukoy ang pagtatanghal ng application
  • Controller - Namamahala sa daloy ng application

MVC - MVC Architecture sa Java - Edureka

Sa konteksto ng Programming ng Java,ang Modelo ay binubuo ng simple Mga klase sa Java , ipinapakita ng View ang data at ang Controller ay binubuo ng . Ang paghihiwalay na ito ay nagreresulta sa pagproseso ng mga kahilingan ng gumagamit tulad ng sumusunod:



  1. Ang browser sa client ay nagpapadala ng isang kahilingan para sa isang pahina sa controller na naroroon sa server
  2. Ginagawa ng tagakontrol ang pagkilos ng pag-invoking ng modelo, sa gayon, pagkuha ng data na kailangan nito bilang tugon sa kahilingan
  3. Pagkatapos ay ibibigay ng controller ang nakuhang data sa view
  4. Ang view ay nai-render at ipinadala pabalik sa client para maipakita ang browser

Paghihiwalay ng isang application ng software saang tatlong magkakaibang mga sangkap na ito ay isang magandang ideya para sa isang bilang ng mga kadahilanan. Tingnan natin kung ano ang mga iyon.

Mga kalamangan ng MVC Architecture sa Java

Nag-aalok ang arkitektura ng MVC ng maraming mga pakinabang para sa isang programmer kapag bumubuo ng mga application, na kasama ang:

  • Maramihang mga developer ay maaaring gumana sa tatlong mga layer (Model, View, at Controller) nang sabay-sabay
  • Pinagbuti ang mga alok kakayahang sumukat , na suplemento sa kakayahan ng aplikasyon na lumago
  • Dahil ang mga sangkap ay may mababang pagtitiwala sa bawat isa, madali silang mapanatili
  • Ang isang modelo ay maaaring magamit muli ng maraming mga view na nagbibigay ng muling paggamit ng code
  • Ang pag-aampon ng MVC ay gumagawa ng isang application na mas makahulugan at madaling maunawaan
  • Nagiging madali ang pagpapalawak at pagsubok ng application

Ngayon alam mo kung bakit ang MVC ang pinakapopular sa mundo ng pagprograma ng web. Ngunit, kung nagpupumilit ka pa ring maiisip ang konsepto ng MVC, huwag magalala. Susukatin namin nang malalim ang bawat isa sa mga layer na ito at matutunan ang kanilang layunin sa tulong ng isang .

Pagpapatupad ng MVC gamit ang Java

Upang magpatupad ng isang web application batay sa pattern ng disenyo ng MVC, lilikha kami

  • Klase ng Kurso , na gumaganap bilang ang layer ng modelo
  • Klase ngViewView , na tumutukoy sa layer ng pagtatanghal ( tingnan ang layer )
  • Klase ng CourseContoller , na gumaganap bilang a tagapamahala

Ngayon, isa-isahin natin ang mga layer na ito.

Ang Model Layer

Sa pattern ng disenyo ng MVC, ang modelo ay ang layer ng data na tumutukoy sa lohika ng negosyo ng system at kumakatawan din sa estado ng aplikasyon.Ang modelo mga bagay kunin at itago ang estado ng modelo sa isang database. Sa pamamagitan ng layer na ito, naglalapat kami ng mga panuntunan sa data, na kalaunan ay kumakatawan sa mga konsepto na pinamamahalaan ng aming application. Ngayon, gumawa tayo ng isang modelo na gumagamit Klase ng Kurso.

package MyPackage pampublikong klase Kurso {pribadong String CourseName pribadong String CourseId pribadong String CourseCategory public String getId () {return CourseId} public void setId (String id) {this.CourseId = id} public String getName () {return CourseName} public void setName (Pangalan ng string) {this.CourseName = name} public String getCategory () {return CourseCategory} public void setCategory (String kategorya) {this.CourseCategory = kategorya}}

Madaling maunawaan ang code at nagpapaliwanag sa sarili. Binubuo ito ng mga pagpapaandar upang makakuha / magtakda ng mga detalye ng kurso.

tumawag sa pamamagitan ng sanggunian c ++

Ang View Layer

Ang layer ng pattern ng disenyo ng MVC na ito ay kumakatawan sa output ng application o interface ng gumagamit. Ipinapakita nito ang data na nakuha mula sa layer ng modelo ng controller at ipinapakita ang data sa gumagamit tuwing hiningi. Akohindi natatanggap ang lahat ng impormasyong kinakailangan nito mula sa taga-kontrol at hindi ito kailangang makipag-ugnay nang direkta sa layer ng negosyo.Lumikha tayo ng isang view gamit ang Klase ngViewView.

package MyPackage public class CourseView {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('Mga Detalye ng Kurso:') System.out.println ('Pangalan:' + CourseName) System.out.println ('Course ID:' + CourseId) System.out.println ('Kategoryang Kurso:' + CourseCategory)}}

Ang code na ito aysimpleng upang mai-print ang mga halaga sa console. Susunod na mayroon kaming tagakontrol ng web application.

Ang Layer ng Controller

Ang Controller ay tulad ng isang interface sa pagitan ng Model at View. Natatanggap nito ang mga kahilingan ng gumagamit mula sa layer ng pagtingin at pinoproseso ang mga ito, kasama ang mga kinakailangang pagpapatunay. Pagkatapos ay ipinadala ang mga kahilingan sa modelo para sa pagproseso ng data. Sa sandaling naproseso na, ang data ay muling ipinadala sa controller at pagkatapos ay ipinakita sa view.Lumikha tayo Klase ng CourseContoller na kumikilos bilang isang tagakontrol.

pakete ng MyPackage pampublikong klase ng CourseController {pribadong modelo ng kurso na pribado na KursusView tingnan ang publiko na KursusController (modelo ng Kurso, pagtingin sa Kurso) {this.model = model this.view = view} pampublikong walang bisa na setCourseName (pangalan ng String) {model.setName (pangalan)} pampublikong String getCourseName () {return model.getName ()} public void setCourseId (String id) {model.setId (id)} public String getCourseId () {return model.getId ()} public void setCourseCategory (String kategorya) {model.setCategory (kategorya)} pampublikong String getCourseCategory () {return model.getCategory ()} public void updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

Ang isang mabilis na sulyap sa code ay magsasabi sa amin na ang klase ng tagakontrol na ito ay responsable para sa pagtawag sa modelo upang makuha / itakda ang data at i-update ang view batay sa na. Ngayon tayotingnan kung paano ang lahat ng ito ay nakatali.

Pangunahing Klase ng Java

Tawagin natin ang klase na ito na 'MVCPatternDemo.java'. Suriin ang code sa ibaba.

package MyPackage public class MVCPatternDemo {public static void main (String [] args) {// kumuha ng record ng mag-aaral batay sa kanyang roll no mula sa database ng Model course = retriveCourseFromDatabase () // Lumikha ng isang view: upang isulat ang mga detalye ng kurso sa console na pagtingin sa KursusView = bagong CourseView () CourseController controller = bagong CourseController (modelo, tingnan) controller.updateView () // update model data controller.setCourseName ('Python') System.out.println ('nPagkatapos ng pag-update, Ang Mga Detalye ng Kurso ay ang mga sumusunod') controller.updateView ()} pribadong static Kurso retriveCourseFromDatabase () {Kurso na kurso = bagong Kurso () course.setName ('Java') course.setId ('01 ') kurso.setCategory (' Programming ') bumalik kurso}}

Ang nasa itaas na klasekinukuha ang data ng kurso mula sa gamit kung aling gumagamit ang pumapasok sa hanay ng mga halaga. Pagkatapos ay itinutulak ang mga halagang iyon sa modelo ng Kurso. Pagkatapos, pinasimulan nito ang view na nilikha namin nang mas maaga sa artikulo.Dagdag dito, inaanyayahan din nito ang CourseController klase at iginapos ito sa Kurso klase at ang View ng Kurso klase Ang updateView () paraan na kung saan ay isang bahagi ng controller pagkatapos ay ina-update ang mga detalye ng kurso sa console. Suriin ang output sa ibaba.

Paglabas

Mga Detalye ng Kurso: Pangalan: Java Course ID: 01 Kategoryang Kurso: Programming Pagkatapos ng pag-update, Ang Mga Detalye ng Kurso ay ang mga sumusunod Mga Detalye ng Kurso: Pangalan: Python ID ng Kurso: 01 Kategoryang Kurso: Programming

Ang MVC Architecturenagbibigay ng isang kabuuan bagong antas ng modularity sa iyong code na ginagawang mas madaling mabasa at mapapanatili. Dinadala tayo nito sa pagtatapos ng artikulong ito.Inaasahan mong malinaw ka sa lahat ng naibahagi sa iyo.

pagkakasunud-sunod ng fibonacci sa c ++

Tiyaking nagsasanay ka hangga't maaari at ibalik ang iyong karanasan.

Suriin ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Narito kami upang matulungan ka sa bawat hakbang sa iyong paglalakbay, nakakakuha kami ng isang kurikulum na idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng 'MVC Architecture in Java' na ito artikulo at babalikan ka namin sa lalong madaling panahon.