This is an old revision of the document!
Table of Contents
Eléments d'architecture
Cette page vise à vous donner quelques informations sur l'architecture à mettre en place pour réaliser votre application.
Cette page est essentiellement un (extrait de 1)
Design Pattern MVC /patron de conception MVC
Pour mémoire le pattern MVC permet d’organiser une application en 3 couches distinctes à savoir :
- le modèle, qui contient la logique métier;
- la vue, qui regroupe tout ce qui a trait à la présentation (des données / comme des interactions utilisateur);
- le contrôleur, qui répond à des interactions utilisateurs en provenance de la vue, en appelant des traitements mis à disposition sous forme de méthode par le modèle, afin de nourrir la vue associée au traitement demandé par l’utilisateur.
- Avez-vous bien séparé les vues du système des accès aux données?
Modèle et Couche d'accès aux données
Sous sa forme la plus brute, la couche modèle peut être vu comme les « données ». Par données on entend tout ce qui est persistant, c’est-à-dire tout ce qu’on pourra lire à partir d’une source, et modifier pour le relire plus tard si besoin est. Dans une logique de découplage, il est de bon ton d’essayer de s’affranchir le plus possible de la forme brute des données. C’est ce que va faire le modèle en transformant des données brutes en objets structurés, utilisables simplement par la couche inférieure : le contrôleur.
Le Dao a pour but de transformer les données contenues dans une bases de données en objets et inversement
Pour se faire il va faire correspondre (de manière bijective – ca veut dire qu’on peut rajouter « et inversement » à la fin de chacun des points suivants)
- une table (appelée aussi relation) à une liste d’objets
- une ligne d’une table (appelée aussi tuple) à un objet
- un champs de base de données à un attribut d’objet
- une valeur d’un champs à une valeur d’attribut d’un objet
Interactions Homme-Machine
- Avez-vous vérifié qu'à toute action de l'utilisateur prise en compte par le système correspond un retour du système?
- En cas de destruction, avez-vous pensé à demander confirmation? ou non?
- Avez-vous pensé à pouvoir interrompre un processus?