3. C’EST QUOI MVC?
C'est un design pattern (orienté objet), c'est à dire un concept
d'architecture logicielle. Il permet de séparer l’affichage des
informations, les actions de l’utilisateur et l’accès aux données.
3
4. HISTORIQUE
Elaboré par Trygve Reenskaug en 1979 au Xerox PARC
Dédié initialement au langage Smalltalk-80 framework
Utiliser pour Apple interfaces (Lisa and Macintosh), formalise par Steve Burbeck
Posséde différentes interprétations et implantations
2014: MVC rejoint le réseau des partnaires Acano
* MVC mobile vidéocommunication GmbH
2015: MVC atteint le plus haut degré de spécialisation pour la visioconférence & la télé présence
2016: La certification MVC est renouvelée pour la visioconférence et téléprésence Polycom
4
6. MODEL
Représente la partie de l’application qui exécute la logique métier. Cela
signifie qu’elle est responsable de récupérer les données, de les convertir
selon des concepts chargés de sens pour votre application, tels que le
traitement, la validation, l’association et beaucoup d’autres tâches
concernant la manipulation des données.
• Données de l’application
• Méthodes manipulant ces données
• Stockage et extraction de la BD
6
7. VIEW
cette partie se concentre sur l'affichage
s’occupe des interactions avec l’utilisateur : présentation, saisie et validation
des données
Elle est responsable de retourner une réponse avec l’aide mutuelle des Model
et Vue.
7
8. CONTROLLER
gère la dynamique de l’application. Elle fait le lien entre l’utilisateur
et le reste de l’application
C’est le manager qui a pour mission que toutes les ressources
souhaitées pour accomplir une tâche
• Accès aux données à partir du modèle
• Affichage des données dans les vues
• Intermédiaire entre plusieurs vues et modèles
• Observe les changements du modèle et les transmet à la vue
8
9. OU ON PEUT UTILISER MVC?
MVC est appliquer sur tout les systèmes et les technologies (Java, Ruby,
Python, Perl, Flex, SmallTalk, Net, C++,...)
9
10. Exemples d’architecture MVC
Pour Android:
• View = layout, resources and built-in classes like Button derived
from android.view.View.
• Controller = Activity
• Model = the classes that implement the application logic
10
11. Pour IOS
il utilise terminologie différente, mais généralement les mêmes concepts et séparation .
11
12. Pour Windows phone
• Il est très facile de rendre son application web compatible avec les terminaux
mobiles avec ASP.NET MVC,
12
13. 13
Les fichiers sont organisés, on sait où trouver ce qu'on cherche.
Le code est modulaire, et facilement réutilisable(conception claire et efficace)
Il est aisé de greffer du code sur celui déjà existant.
Un gain de temps de maintenance et d’évolution du site
Une plus grande souplesse pour organiser le développement du site entre
différents développeurs pour travailler sur un même projet en parallèle
AVANTAGES
14. INCONVÉNIENTS 14
Demande la connaissance des multiples technologies
Si le code de Controller modifier il faut recompiler class et redéployer
l’application
Le MVC se révèle trop complexe pour de petites applications.
Le temps accordé à l’architecture peut ne pas être rentable pour le projet.
Le MVC se révèle trop complexe pour de petites applications, le temps
accordé à l’architecture peut ne pas être rentable pour le projet.
15. CONCLUSION
Pour conclure, L’architecture MVC est une solution très intéressante et
très puissante, à mettre en œuvre dans de grands projets de préférence.
Le MVC favorise le développement et la maintenance du code. Sur de
gros projets et/ou avec de grandes équipes de développements,
l’application d’un tel modèle de conception se révèle très performant. Il
existe aujourd’hui des frameworks très avancés qui se basent sur le MVC.
L’utilisation de ces frameworks facilite sa mise en place et cadre sa
réalisation.
15
nous avons essayer de repartir notre travail selon une methodologie bien étudié
Donc notre plan sera come suit:
1 - L’utilisateur envoie une requête HTTP
2 – Le contrôleur appelle le modèle, celui-ci va récupérer les données
3 – Le modèle retourne les données au contrôleur
4 - Le contrôleur décide de la vue à afficher, va l’appeler
5 – Le code HTML de la vue est envoyé à l’utilisateur pour qu’il puisse naviguer normalement