Come implementare l'architettura MVC in Java?



Questo articolo sull'architettura MVC in Java ti aiuterà a comprendere cos'è esattamente il design pattern MVC e come semplifica la progettazione di applicazioni web.

Nel campo Sviluppo Web, Model-View-Controllerè uno dei più chiacchierati nel mondo della programmazione web oggi. MVC Architecture è stato inizialmente incluso nei due principali framework di sviluppo web: Struts e Ruby on Rails . In questo articolo, esploriamo un po 'l'architettura MVC in .

Gli argomenti che verranno trattati in questo articolo sono i seguenti:





Prima che effettivamente gNei tecnicismi di MVC Architecture, ci sono alcuni concetti che devi conoscere.

  • Design pattern , nell'ingegneria del software, è una tecnica per risolvere un problema comune durante la progettazione del software.
  • Progettazione del modello, specifica il tipo di architettura utilizzato per risolvere il problema o progettare il modello.
  • Ci sono due tipi di modelli di design : Architettura modello 1 , Architettura modello 2 (MVC).

Cos'è l'architettura MVC in Java?

I progetti di modelli basati sull'architettura MVC seguono l'MVC e separano la logica dell'applicazione dall'interfaccia utente durante la progettazione del software. Come suggerisce il nome, il modello MVC ha tre livelli, che sono:



  • Modello - Rappresenta il livello aziendale dell'applicazione
  • Visualizza - Definisce la presentazione dell'applicazione
  • Controller - Gestisce il flusso dell'applicazione

MVC - Architettura MVC in Java - Edureka

Nel contesto della programmazione Java,il modello è costituito da semplici Classi Java , la View mostra i dati e il Titolare è composto . Questa separazione fa sì che le richieste degli utenti vengano elaborate come segue:



  1. Il browser del client invia una richiesta per una pagina al controller presente sul server
  2. Il controller esegue l'azione di invocare il modello, recuperando così i dati di cui ha bisogno in risposta alla richiesta
  3. Il controller quindi fornisce i dati recuperati alla visualizzazione
  4. La vista viene renderizzata e rinviata al client per la visualizzazione del browser

Separazione di un'applicazione software inquesti tre componenti distinti è una buona idea per una serie di motivi. Diamo un'occhiata a cosa sono.

Vantaggi dell'architettura MVC in Java

L'architettura MVC offre molti vantaggi per un programmatore durante lo sviluppo di applicazioni, che includono:

  • Più sviluppatori possono lavorare contemporaneamente con i tre livelli (Modello, Vista e Controller)
  • Offerte migliorate scalabilità , che integra la capacità di crescita dell'applicazione
  • Poiché i componenti hanno una bassa dipendenza l'uno dall'altro, sono facili da mantenere
  • Un modello può essere riutilizzato da più viste che forniscono la riusabilità del codice
  • L'adozione di MVC rende un'applicazione più espressiva e di facile comprensione
  • L'estensione e il test dell'applicazione diventano facili

Ora sai perché MVC è il più popolare nel mondo della programmazione web. Ma se stai ancora lottando per capire il concetto di MVC, non preoccuparti. Scaveremo in profondità in ciascuno di questi livelli e impareremo il loro scopo con l'aiuto di un file .

Implementazione di MVC utilizzando Java

Per implementare un'applicazione web basata sul modello di progettazione MVC, creeremo

  • Classe del corso , che funge da livello del modello
  • Classe CourseView , che definisce il livello di presentazione ( livello di visualizzazione )
  • Classe CourseContoller , che funge da controller

Ora, esploriamo questi livelli uno per uno.

Il livello del modello

Nel modello di progettazione MVC, il modello è il livello dati che definisce la logica di business del sistema e rappresenta anche lo stato dell'applicazione.Il modello oggetti recuperare e memorizzare lo stato del modello in un database. Attraverso questo livello, applichiamo regole ai dati, che alla fine rappresentano i concetti gestiti dalla nostra applicazione. Ora, creiamo un modello utilizzando Classe del corso.

pacchetto 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 (String name) {this.CourseName = name} public String getCategory () {return CourseCategory} public void setCategory (String category) {this.CourseCategory = category}}

Il codice è di facile comprensione ed è autoesplicativo. Consiste di funzioni per ottenere / impostare i dettagli del corso.

leggere il file xml nell'esempio java

Il livello di visualizzazione

Questo livello del modello di progettazione MVC rappresenta l'output dell'applicazione o dell'interfaccia utente. Visualizza i dati recuperati dal livello del modello dal controller e presenta i dati all'utente ogni volta che viene richiesto. iot riceve tutte le informazioni di cui ha bisogno dal controller e non ha bisogno di interagire direttamente con il livello aziendale.Creiamo una vista utilizzando Classe CourseView.

pacchetto MyPackage public class CourseView {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('Course Details:') System.out.println ('Name:' + CourseName) System.out.println ('Course ID:' + CourseId) System.out.println ('Course Category:' + CourseCategory)}}

Questo codice èsemplicemente per stampare i valori sulla console. Successivamente abbiamo il controller dell'applicazione web.

Il livello del controller

Il controller è come un'interfaccia tra Model e View. Riceve le richieste dell'utente dal livello di visualizzazione e le elabora, comprese le convalide necessarie. Le richieste vengono quindi inviate a Model per l'elaborazione dei dati. Una volta elaborati, i dati vengono nuovamente rinviati al controller e quindi visualizzati nella visualizzazione.Creiamo Classe CourseContoller che funge da titolare del trattamento.

pacchetto 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 (categoria)} stringa pubblica getCourseCategory () {return model.getCategory ()} public void updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

Una rapida occhiata al codice ci dirà che questa classe controller è responsabile solo della chiamata del modello per ottenere / impostare i dati e aggiornare la vista in base a questi. Ora facciamodai un'occhiata a come tutti questi sono legati insieme.

Classe Java principale

Chiamiamo questa classe 'MVCPatternDemo.java'. Controlla il codice qui sotto.

package MyPackage public class MVCPatternDemo {public static void main (String [] args) {// fetch record student based on his roll no from the database Course model = retriveCourseFromDatabase () // Create a view: to write course details on console CourseView view = new CourseView () CourseController controller = new CourseController (model, view) controller.updateView () // update model data controller.setCourseName ('Python') System.out.println ('nAfter updated, Course Details are as follows') controller.updateView ()} private static Course retriveCourseFromDatabase () {Course course = new Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programming ') return course}}

La classe soprarecupera i dati del corso dal file utilizzando quale utente inserisce l'insieme di valori. Quindi inserisce quei valori nel modello Course. Quindi, inizializza la vista che avevamo creato in precedenza nell'articolo.Inoltre, richiama anche il CourseController class e lo associa a Corso class e il CourseView classe. Il updateView () metodo che fa parte del controller quindi aggiorna i dettagli del corso sulla console. Controlla l'output di seguito.

Produzione

Dettagli corso: Nome: Java ID corso: 01 Categoria corso: Programmazione Dopo l'aggiornamento, i dettagli del corso sono i seguenti Dettagli corso: Nome: Python ID corso: 01 Categoria corso: Programmazione

L'architettura MVCfornisce un livello completamente nuovo di modularità al codice che lo rende molto più leggibile e gestibile. Questo ci porta alla fine di questo articolo.Spero che tu sia chiaro con tutto ciò che è stato condiviso con te.

Assicurati di esercitarti il ​​più possibile e di ripristinare la tua esperienza.

Controlla il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Siamo qui per aiutarti in ogni fase del tuo viaggio, elaboriamo un curriculum progettato per studenti e professionisti che vogliono essere uno sviluppatore Java.

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di questa 'Architettura MVC in Java' articolo e ti risponderemo il prima possibile.