Patron mvc, tutorial patron 2

Description

Avant de commencer:
Ce patron est défini comme avancer, malgré qu'il soit simple. Hein ??? Oui bien que l'exemple soit très simple et qu'il est facile a comprendre, c'est un des patron les plus dur a appliquer .... par paresse. Souvent trop de paramètre a passer au model ou à la vue. Ce patron est habituellement efficace avec de la pratique, beaucoup de pratique. c'est pas une façon de concevoir une form normal a VB.net. Mais une fois maitrisé, beaucoup de temps peut-être sauver et le patron MVC est la base de beaucoup de patron qui suivront qui seront extrêment utile et même très impressionnant (comment faire un CTRL+Z et un CTRL+Y annulé ou raétablir).

Définition: Patron
Un patron est une structure de programmation en orienté objet pour faire un option spécifique dans n'importe quel programme. C'est comme un algorithme de trie. Les algo sont déjà créé et ils sont fonctionnel dans n'importe quel programme. La différence, c'est qu'un patron de conception, c'est une option spécifique a un problème récurent. Il faut avoir un très bonne connaissance en orienté objet et le UML est très vite nécessaire dans les patrons d'un certain niveau. C'est pour ça que les tutoriaux sont classé d'intermédiaire à avancer, sauf le Singleton qui est le plus facile a utiliser. Les patrons aident à la maintenance, a facilité la visualisation du code, a unifier la programation, a simplifier certain algo, rendre un code réutilisable entre diver projet et apporte des solutions logique et optimisé.

Définition: Model
Le model est une class qui fait des calculs. Il sait pas quoi faire. Il trie, compresse, fait un calcul, recherche dans une base de donnée, ... mais il sait pas pourquoi il doit le faire, mais il fait le travail. Il est commander par le controleur

Définition: Vue
La vue est la form visible par l'usager. Elle fait rien, juste afficher a l'écran. Si un évênmenet est déclancher, elle l'envoi immédiatement au controleur. Elle fait aucun calcul, elle fait juste afficher des données. Elle est toujours jumelé avec d,autre patron et le plus simple est Observer qui sera le prochain tutorial.

Définition: Controleur
Controleur est le cerveau des opérations. C'est lui qui gère tout. c'est lui qui dit au Vue de ce mettre à jours et c'est lui qui reçoi les évênements et qu'il va savoir quoi faire avec. Il fait aucun calcul, mais il conserve toutes les données utiles. c'est lui qui crée la/les vue(s) et le(s) model(s). Un controleur est utilisé dans presque 100% des patrons

Définition: MVC (Model,Vue et Controleur)
Voici la définition la plus importante. c'est ceci qui fait le patron. Un MVC est la répartition des taches sous 3 catégories de class distincte. Le model (les calculs), la Vue (la form qui fait la présentation à l'écran) et le controleur (le pont entre les 2 autres). En aucun moment la vue doit voir le model et vice versa. Certaines variantes permetre au model de voir la vue pour simplifier le code, lorsqu'il y a des changement important dasn la présentation graphique. Mais c'est a éviter le plus possible. Le mieux est de garder les 2 bien distinct.

Pourquoi le patron MVC, ça sert a quoi:
Le patron permet de diminuer le code dans les class. La raison est que s'il y a des modif a faire, on a pas tout le code a changer. Aussi, le patron aide a séparer les différente tache en méthode, puisque les, models sont totallement séparer, on a plus tendance a généraliser le code. Donc le fait de rendre le code plus générale permet de faire de la réutilisation (un autre point fort des patrons).

Exemple: votre patron vous demande de faire une form, mais une fois créé et les calcul valider, il l'aide pas. Pas de trouble. Vous changer la Vues et le tour est joué, pas besoin de revalider le model et le controleur.

Exemple: Vous avez créé une form avec des boutons pour modifier. Vous voulez rendre cette form là en lecture seule pour certian usagers. Pas de problème, une vue différente et tout le code sera pas a changer, seulement un petit tour dans l'assistance de VB.net

Exemple: Pour un programme, vous êtes plusieurs a le programmer. Une erreur dans les calcul se sont glisser et pour raison de sécurité, vous voulez pas que tout les programmeur vous tout les calculs. Ben vous séparer en plusieurs model et vous donner seulement le model qui possède l'erreur de calcul. le programmeur peut utiliser les autres models, mais il est pas obliger de les voir, tant qu'il peut les appeller et apsser les argument, il voit pas le code, donc la sécurité est augmenté

Méthaphore sur la patron: (explication du patron en touchant pas à la programmation)
Un MVC est comme une entreprise qui fait des logiciels. On a des programmeurs (Models), des représentants (Vues) et un boss (Controleurs).

Les représentants ce sont ceux que les acheteurs voient. C'est avec eux que les acheteurs vont faire affaire. Il sait pas ce qu'il a a vendre, mais il le vend. Il reçoi a certain moment des messages pour mettre a jours sa listes de ventes (Update). Il peut y avoir plusieurs représentants dans une même entreprise qui vont présenter leurs produits différenment.

Les programmeurs ce sont ceux qui fond les calculs. Certain sont spécialiser dans certain domaine bien précie (Mathématique ou compression, par exemple).

Le boss, il y en a toujours un, est celui qui fait rien. Il fait juste prendre des décisions. Il décide qui fait quoi et quel représentant est choisi. c'est lui qui peut congédier son personnel. Il y a jamais 2 boss en même temps, amis il peut avoir des suppérieurs ou des adjoints qui sont dans d'autre domaine (d'autre form). C'est lui qui envoi les demande de mise à jour et qui reçoi les questions des représentants qui sera redirigé au bon programmeur pour faire le calcul.

Ce qu'on doit regarder:
l'interface Vue, dans les autres language l'interface existe au nom d'Observer
la class controleur (controleur)
les 3 vues (seul Vue1 est commenté, les 2 autres sont très très très semblable)
les 2 models (seul model est commenté)

Conclusion :


Dans le zip, vous aurez un exemple de MVC un peu modifier pour bien expliquer.
3 Vues sont affiché en même temps (en temps normal c'est juste une à la fois)
il y a 2 models, mais sont trop simple, mais pourrait très vite ce compliquer

Seul un tableau est passé en paramètre. Donc c,est très simple, masi immaginer un formulaire normal. ça fini par ce compté en dizaine de variables différentes qui seront passé, sinon plus.

Donc je le répète, bien que le patron a l'air simple, il deviens très vite compliquer et dur a appliquer dans un cas réel. Faites en un essai dans vos projets, peut de monde vont réussir du premier coup à l'appliquer, masi une fois bien compris, ça va pas plus prendre de temps a programmer, sauf beaucoup de temps sera sauver lors de la maintenance.

En entreprise, on compte qu'un programme informtique une fois terminé, il reste encore 90% des dépenses en maintenance. donc l'utilisation des patrons est très judicieuse dans ce moment là

petit truc:
utilisé un programme qui fait du UML. Je suggère Togheter de Borland qui s'intègre a Visual Basic.net. Sinon Rationnal Rose est excellent, mais trop complet pour la plus part du monde et très cher

Je sais, ça plante si on ferme une Vue, c'est normal. Le patron Observer est pas réellement implémenté.
Voir le tutorial numéro3 sur le patron Observer pour montrer comment corriger le problème.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.