Ako implementovať architektúru MVC v Jave?



Tento článok o architektúre MVC v Jave vám pomôže pochopiť, čo presne je návrhový vzor MVC a ako uľahčuje návrh webových aplikácií.

V poli Vývoj webu kliknite na Model-View-Controllerje jedným z najdiskutovanejších v dnešnom svete webového programovania. Architektúra MVC bola pôvodne zahrnutá do dvoch hlavných rámcov pre vývoj webových aplikácií - Struts a Ruby on Rails . V tomto článku sa pozrime na niečo o architektúre MVC v .

V tomto článku sa budeme venovať týmto témam:





Skôr ako skutočne get technike MVC Architecture, musíte poznať určité koncepty.

  • Dizajnový vzor , v softvérovom inžinierstve, je technika na riešenie bežne sa vyskytujúceho problému pri navrhovaní softvéru.
  • Navrhovanie modelu, určuje, aký typ architektúry použijete na vyriešenie problému alebo na návrh modelu.
  • Existujú dva typy dizajnových modelov : Architektúra modelu 1 , Architektúra modelu 2 (MVC).

Čo je to MVC Architecture v Jave?

Modelové návrhy založené na architektúre MVC nasledujú po MVC a pri navrhovaní softvéru oddeľujú logiku aplikácie od používateľského rozhrania. Ako naznačuje názov, vzor MVC má tri vrstvy, ktoré sú:



  • Model - Predstavuje obchodnú vrstvu aplikácie
  • vyhliadka - Definuje prezentáciu aplikácie
  • Kontrolór - Spravuje tok aplikácie

MVC - MVC Architecture in Java - Edureka

V kontexte programovania Javamodel sa skladá z jednoduchých Triedy Java , Zobrazenie zobrazí údaje a radič sa skladá z . Toto oddelenie vedie k tomu, že žiadosti používateľov sa vybavia takto:



  1. Prehliadač na klientovi odošle požiadavku na stránku radiču prítomnému na serveri
  2. Kontrolór vykoná akciu vyvolania modelu, čím získa potrebné dáta ako odpoveď na požiadavku
  3. Ovládač potom odovzdá získané údaje zobrazeniu
  4. Pohľad sa vykreslí a odošle späť klientovi, aby ho mohol prehliadač zobraziť

Oddelenie softvérovej aplikácie dotieto tri odlišné komponenty je dobrý nápad z mnohých dôvodov. Pozrime sa, čo to je.

Výhody architektúry MVC v Jave

Architektúra MVC ponúka programátorovi pri vývoji aplikácií veľa výhod, medzi ktoré patrí:

  • S tromi vrstvami (Model, View a Controller) môže pracovať súčasne niekoľko vývojárov
  • Ponuky vylepšené škálovateľnosť , ktorý dopĺňa schopnosť aplikácie rásť
  • Pretože komponenty sú navzájom nízko závislé, ľahko sa udržiavajú
  • Model je možné opakovane použiť pomocou viacerých zobrazení, ktoré poskytujú opakovanú použiteľnosť kódu
  • Vďaka prijatiu MVC je aplikácia expresívnejšia a zrozumiteľnejšia
  • Rozšírenie a testovanie aplikácie je ľahké

Teraz viete, prečo je MVC najobľúbenejší vo svete webového programovania. Ak sa však stále snažíte obísť koncept MVC, nebojte sa. Zahĺbime sa do každej z týchto vrstiev a pomocou An sa naučíme ich účel .

Implementácia MVC pomocou Javy

Pre implementáciu webovej aplikácie založenej na návrhovom vzore MVC vytvoríme

  • Kurz kurzu , ktorý koná ako modelová vrstva
  • Trieda CourseView , ktorá definuje prezentačnú vrstvu ( zobraziť vrstvu )
  • Trieda CourseContoller , ktorá funguje ako a kontrolór

Teraz poďme preskúmať tieto vrstvy jednu po druhej.

Vrstva modelu

V dizajnovom vzore MVC bola použitá značka Model je dátová vrstva, ktorá definuje obchodnú logiku systému a predstavuje tiež stav aplikácie.Model predmety načítať a uložiť stav modelu do databázy. Prostredníctvom tejto vrstvy aplikujeme pravidlá na údaje, ktoré nakoniec predstavujú koncepty, ktoré naša aplikácia spravuje. Poďme si teraz vytvoriť model pomocou Kurz kurzu.

balíček MyPackage verejná trieda 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 (Názov reťazca) {this.CourseName = meno} verejný reťazec getCategory () {návrat CourseCategory} verejné neplatné setCategory (kategória reťazcov) {this.CourseCategory = kategória}}

Tento kód je ľahko pochopiteľný a je zrozumiteľný. Skladá sa z funkcií na získanie / nastavenie podrobností kurzu.

Vrstva pohľadu

Táto vrstva návrhového vzoru MVC predstavuje výstup aplikácie alebo používateľského rozhrania. Zobrazuje údaje načítané z modelovej vrstvy radičom a poskytuje údaje používateľovi, kedykoľvek o to požiada. Jat nedostáva všetky informácie, ktoré potrebuje, od kontrolóra a nemusí priamo komunikovať s obchodnou vrstvou.Vytvorme zobrazenie pomocou Trieda CourseView.

balíček MyPackage verejná trieda CourseView {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('Podrobnosti kurzu:') System.out.println ('Názov:' + CourseName) System.out.println ('ID kurzu:' + CourseId) System.out.println ('Kategória kurzu:' + CourseCategory)}}

Tento kód jejednoducho vytlačiť hodnoty do konzoly. Ďalej tu máme ovládač webovej aplikácie.

návod na otvorené štúdio talend pdf

Vrstva radiča

Ovládač je ako rozhranie medzi modelom a zobrazením. Prijíma požiadavky používateľov z vrstvy zobrazenia a spracúva ich vrátane potrebných overení. Žiadosti sa potom pošlú do modelu na spracovanie údajov. Po ich spracovaní sa údaje opäť pošlú späť do radiča a potom sa zobrazia na zobrazení.Poďme vytvoriť Trieda CourseContoller ktorý funguje ako kontrolór.

balíček MyPackage verejná trieda CourseController {súkromný model kurzu súkromné ​​CourseView zobrazenie verejné CourseController (model kurzu, zobrazenie CourseView) {this.model = model this.view = view} public void setCourseName (názov reťazca) {model.setName (názov)} verejný reťazec 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 (category)} public String getCourseCategory () {return model.getCategory ()} public void updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

Letmý pohľad na kód nám prezradí, že táto trieda radičov je zodpovedná len za volanie modelu, aby získal / nastavil údaje a na základe toho aktualizoval zobrazenie. Teraz poďmepozrite sa, ako sú tieto všetky navzájom spojené.

Hlavná trieda Java

Zavolajme túto triedu „MVCPatternDemo.java“. Skontrolujte kód uvedený nižšie.

balíček MyPackage verejná trieda MVCPatternDemo {public static void main (String [] args) {// načítanie záznamu študenta na základe jeho rolovania nie z databázy Course model = retriveCourseFromDatabase () // Vytvorenie pohľadu: na napísanie podrobností kurzu na konzole CourseView = nový ovládač CourseView () CourseController = nový ovládač CourseController (model, pohľad) controller.updateView () // aktualizácia údajov radiča modelu. setCourseName ('Python') System.out.println ('nPo aktualizácii sú podrobnosti o kurze nasledovné') controller.updateView ()} private static Course retriveCourseFromDatabase () {Course course = new Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programming ') return course}}

Vyššie uvedená triedanačíta údaje o kurze z pomocou ktorého užívateľ zadá množinu hodnôt. Potom tieto hodnoty vloží do modelu kurzu. Potom inicializuje pohľad, ktorý sme vytvorili predtým v článku.Ďalej tiež vyvoláva CourseController triedy a viaže ju na Samozrejme triedy a CourseView trieda. The updateView () metóda, ktorá je súčasťou kontrolóra, potom aktualizuje podrobnosti kurzu na konzole. Skontrolujte výstup nižšie.

Výkon

Podrobnosti o kurze: Názov: ID kurzu Java: 01 Kategória kurzu: Programovanie Po aktualizácii sú podrobnosti o kurze nasledovné Podrobnosti o kurze: Názov: Python ID kurzu: 01 Kategória kurzu: Programovanie

Architektúra MVCposkytuje vášmu kódu úplne novú úroveň modularity, vďaka čomu je oveľa čitateľnejší a udržiavateľnejší. Týmto sa dostávame na koniec tohto článku.Dúfam, že máte jasno vo všetkom, čo bolo s vami zdieľané.

Určite cvičte čo najviac a obráťte sa na svoje skúsenosti.

Pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Sme tu, aby sme vám pomohli na každom kroku na vašej ceste. Vymyslíme učebné osnovy určené pre študentov a profesionálov, ktorí sa chcú stať vývojármi Java.

Máte na nás otázku? Uveďte to v sekcii komentárov tejto „MVC Architecture in Java“. článok a my sa vám ozveme čo najskôr.