Les concepts de base de MVC

 

 
Avant d’aller plus loin avec Spring MVC et le développement java, une petite introduction au concept MVC.

 

Prérequis

Aucun

 

MVC et la partie métier d’une application

MVC est l’acronyme de Modèle Vue Contrôleur.

Le Modèle est la partie Métier de votre application, la Vue est la partie IHM de votre application et le Contrôleur est un composant qui fait le lien entre le Modèle et la Vue.

Le point d’entrée de l’utilisateur est toujours la Vue (IHM), qui à sa demande, invoque le Contrôleur.
Le Contrôleur interagit alors avec le Modèle pour répondre à la demande : faire les traitements demandés.
Enfin le Contrôleur renvoie les informations ou un résultat à la Vue qui fait le rendu.

Du point de vue du développeur, le Modèle sera constitué de classes dont les méthodes seront des fonctions purement métiers.

Prenons pour exemple le métier de la cuisine et imaginons que nous devions créer une application de gestion de recettes. Nous pourrions avoir besoin dans ce cas d’une fonction de listage des ingrédients d’une recette.

Nous créerions alors dans le modèle une classe qui comporterait une méthode ou fonction purement métier que nous nommerions listerIngrédients.

ListerIngrédients est d’un point de vue métier parlant et lorsque nous parlons de métier, nous ne faisons référence à aucun élément technique d’implémentation, mais juste au métier.

 

Le métier s’appuie sur la persistance des données

Dans une application web, les données sont souvent stockées et/ou lues dans une base de données. C’est ce qu’on appelle la persistance des données. Par le biais de cette persistance, le modèle va mettre à disposition des fonctions métiers. Pour effectuer certaines actions, le métier aura besoin de lire, écrire ou effacer des données.

 

CRUD, c’est quoi ?

CRUD est l’acronyme anglais de Create, Read, Update or Delete. En français, Créer, Lire, Mettre à jour ou Supprimer. Créer, Lire, Mettre à jour ou Supprimer consistent en 4 fonctionnalités de base sur des données persistées. On parle de CRUD lorsque l’on implémente ces 4 fonctionnalités de base.

 

Les strates

Les applications type MVC sont organisés en couches (les strates), chacune d’elles ayant une responsabilité particulière : l’IHM, le Métier et le Contrôleur. Si l’IHM et le contrôleur sont des couches simples, le Modèle est un peu plus complexe, puisque il fait lui-même appel à une couche de persistance de données. L’appel à cette couche de persistance de données se fait par le biais d’un type d’objet appelé DAO (Data Acces Object).

 

ORM, c’est quoi ?

ORM est l’acronyme anglais de Object Relationnal Mapping. Le Modèle Relationnel (la base de données) est mappé par un Modèle Objet (le code java). Attention, il n’y a pas nécessairement correspondance parfaite entre les objets et les tables de la base de données. De même que sur un projet complet seule une partie sera dédié à l’ORM, la partie concernant la persistance des informations. Des frameworks ORM permettent de faciliter l’implémentation ORM, l’un des plus connus étant Hibernate. D’autres tel que HADES, sont en devenir du fait de leur popularité grandissante.

 

Manager ou Service

Manager ou Service c’est deux manières d’appeler une même chose. Le Manager sert à exposer des fonctions (méthodes pour les puristes) métiers et uniquement métiers. Le Manager est donc utiliser par le contrôleur et uniquement par celui-ci.

 

Conclusion

Ce n’était pas très long et cela me paraissait important d’introduire ce vocabulaire. N’hésitez pas à poser vos questions par le biais des commentaires.

 

Posté dans html5, java, phpTaggé Code métier, developpement java, eclipse, HADES, HIBERNATE, java, MVC, MVC pour débutant, ORM, Spring 3, Spring 3 MVC, Spring MVC, Vocabulaire java  |  Laisser un commentaire

Répondre