Comment implémenter l'architecture MVC en Java?

Cet article sur l'architecture MVC en Java vous aidera à comprendre ce qu'est exactement le modèle de conception MVC et comment il facilite la conception d'applications Web.

Dans le champ Développement Web, Model-View-Controllerest l'un des plus discutés dans le monde de la programmation Web aujourd'hui. MVC Architecture a été initialement inclus dans les deux principaux frameworks de développement Web - Struts et Rubis sur rails . Dans cet article, explorons un peu l'architecture MVC dans .



Les sujets qui seront traités dans cet article sont les suivants:



Avant de nous get dans les détails techniques de MVC Architecture, il y a certains concepts que vous devez connaître.

  • Design pattern , en génie logiciel, est une technique permettant de résoudre un problème courant lors de la conception de logiciels.
  • Conception de modèle, spécifie le type d'architecture que vous utilisez pour résoudre le problème ou concevoir le modèle.
  • Il y en a deux types de modèles de conception : Architecture modèle 1 , Architecture modèle 2 (MVC).

Qu'est-ce que l'architecture MVC en Java?

Les conceptions de modèles basées sur l'architecture MVC suivent le MVC et ils séparent la logique d'application de l'interface utilisateur lors de la conception du logiciel. Comme son nom l'indique, le modèle MVC a trois couches, qui sont:



  • Modèle - Représente la couche métier de l'application
  • Vue - Définit la présentation de l'application
  • Manette - Gère le flux de l'application

MVC - Architecture MVC en Java - Edureka

Dans le contexte de la programmation Java,le modèle se compose de simples Classes Java , la vue affiche les données et le contrôleur se compose de . Cette séparation entraîne le traitement des demandes des utilisateurs comme suit:



  1. Le navigateur sur le client envoie une demande de page au contrôleur présent sur le serveur
  2. Le contrôleur exécute l'action d'invoquer le modèle, récupérant ainsi les données dont il a besoin en réponse à la demande
  3. Le contrôleur transmet ensuite les données récupérées à la vue
  4. La vue est rendue et renvoyée au client pour que le navigateur s'affiche

Séparer une application logicielle ences trois éléments distincts est une bonne idée pour plusieurs raisons. Voyons de quoi il s'agit.

Avantages de l'architecture MVC en Java

L'architecture MVC offre de nombreux avantages pour un programmeur lors du développement d'applications, notamment:

  • Plusieurs développeurs peuvent travailler avec les trois couches (modèle, vue et contrôleur) simultanément
  • Offres améliorées évolutivité , qui complète la capacité de l'application à se développer
  • Les composants étant peu dépendants les uns des autres, ils sont faciles à entretenir
  • Un modèle peut être réutilisé par plusieurs vues, ce qui permet la réutilisation du code
  • L'adoption de MVC rend une application plus expressive et facile à comprendre
  • L'extension et le test de l'application deviennent faciles

Vous savez maintenant pourquoi le MVC est le plus populaire dans le monde de la programmation Web. Mais si vous avez toujours du mal à comprendre le concept de MVC, ne vous inquiétez pas. Nous approfondirons chacune de ces couches et apprendrons leur but à l'aide d'un .

transformation de recherche dans l'exemple informatica

Implémentation de MVC en Java

Pour implémenter une application Web basée sur le modèle de conception MVC, nous allons créer

  • Classe de cours , qui agit comme le couche de modèle
  • Cours CourseView , qui définit la couche de présentation ( voir la couche )
  • Cours CourseContoller , qui agit comme un manette

Maintenant, explorons ces couches une par une.

Le calque modèle

Dans le modèle de conception MVC, le modèle est la couche de données qui définit la logique métier du système et représente également l'état de l'application.Le modèle objets récupérer et stocker l'état du modèle dans une base de données. Grâce à cette couche, nous appliquons des règles aux données, qui représentent finalement les concepts gérés par notre application. Maintenant, créons un modèle en utilisant Classe de cours.

package 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}}

Le code est facile à comprendre et explicite. Il se compose de fonctions pour obtenir / définir les détails du cours.

La couche de vue

Cette couche du modèle de conception MVC représente la sortie de l'application ou de l'interface utilisateur. Il affiche les données extraites de la couche modèle par le contrôleur et présente les données à l'utilisateur à chaque fois que cela lui est demandé. jet reçoit toutes les informations dont il a besoin du contrôleur et n’a pas besoin d’interagir directement avec la couche métier.Créons une vue en utilisant Cours CourseView.

package 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)}}

Ce code estsimplement pour imprimer les valeurs sur la console. Ensuite, nous avons le contrôleur de l'application Web.

La couche contrôleur

Le contrôleur est comme une interface entre le modèle et la vue. Il reçoit les demandes des utilisateurs de la couche de vue et les traite, y compris les validations nécessaires. Les demandes sont ensuite envoyées au modèle pour le traitement des données. Une fois traitées, les données sont à nouveau renvoyées au contrôleur puis affichées sur la vue.Créons Cours CourseContoller qui agit en tant que contrôleur.

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

Un coup d'œil rapide sur le code nous dira que cette classe de contrôleur est simplement chargée d'appeler le modèle pour obtenir / définir les données et de mettre à jour la vue en fonction de cela. Maintenant, allonsjetez un œil à la façon dont tous ces éléments sont liés.

Classe Java principale

Appelons cette classe 'MVCPatternDemo.java'. Consultez le code ci-dessous.

package MyPackage public class MVCPatternDemo {public static void main (String [] args) {// récupère la fiche de l'élève en fonction de son numéro de rôle dans la base de données Course model = retriveCourseFromDatabase () // Créer une vue: pour écrire les détails du cours sur la console CourseView view = new CourseView () CourseController controller = new CourseController (model, view) controller.updateView () // mettre à jour les données du modèle controller.setCourseName ('Python') System.out.println ('nAprès la mise à jour, les détails du cours sont les suivants') controller.updateView ()} Cours statique privé retriveCourseFromDatabase () {Course course = new Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programmation ') retour cours}}

La classe ci-dessusrécupère les données de cours du en utilisant quel utilisateur entre l'ensemble de valeurs. Il pousse ensuite ces valeurs dans le modèle Course. Ensuite, il initialise la vue que nous avions créée précédemment dans l'article.En outre, il invoque également le CourseController class et le lie au Cours classe et le CourseView classe. La updateView () qui fait partie du contrôleur met alors à jour les détails du cours sur la console. Consultez la sortie ci-dessous.

Production

Détails du cours: Nom: ID du cours Java: 01 Catégorie du cours: Programmation Après la mise à jour, les détails du cours sont les suivants Détails du cours: Nom: ID du cours Python: 01 Catégorie du cours: Programmation

L'architecture MVCfournit un tout nouveau niveau de modularité à votre code, ce qui le rend beaucoup plus lisible et maintenable. Cela nous amène à la fin de cet article.J'espère que vous êtes clair avec tout ce qui a été partagé avec vous.

Assurez-vous de pratiquer autant que possible et inversez votre expérience.

Vérifiez par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Nous sommes là pour vous aider à chaque étape de votre voyage, nous proposons un programme conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de cette «Architecture MVC en Java» article et nous vous répondrons dans les plus brefs délais.