📦 Diagramme de Paquetage (avec la persistance)
Le projet 'Trek-12' contrairement à la solution, est l'application MAUI (en .NET 8) contenant les vues de l'application, qui sont les éléments visuels de l'interface utilisateur. Il accède (<<access>>
) au package 'Models' pour récupérer les données et les afficher à l'utilisateur.
Dans le package Views
, on retrouve les "ContentPages" de l'application, qui sont les pages. Il y aussi les Components
qui sont eux, des "ContentViews", qui sont des éléments visuels réutilisables comme des boutons, labels, etc.
Le package 'Models' contient les classes, énumérations, interfaces et événements utilisés dans l'application. Il contient également la boucle de jeu principale dans la classe Game.cs
.
Le package 'ConsoleApp' contient l'application console qui permet de tester le bon fonctionnement du jeu avec les modèles actuels. Il utilise la boucle de jeu et s'abonne aux événements pour tester le jeu en mode console. Il accède (<<access>>
) le package 'Models' pour accéder aux données du jeu et méthodes.
Le package 'Tests' contient les tests unitaires écrits avec xUnit. Ces tests assurent la vérification et la validation du code pour garantir la qualité et le bon fonctionnement de l'application. Il accède (<<access>>
) le package 'Models' pour tester les classes et méthodes de l'application.
Persistance des données:
- Le package 'Stub' contient les données de test pour tester le binding de l'application. C'est des données en dur qui sont utilisées pour tester l'application comme si elles provenaient d'une base de données.
- Le package 'DataContractPersistance' regroupe les classes de persistance qui permettent de sauvegarder et charger les données du jeu. Ces classes utilisent la sérialisation et désérialisation* des données avec une compatibilité de base en XML et plus tard en JSON. Il a été décidé d'utiliser un stockage local sous ces formats là, car le jeu ne possède pas de fonctionnalités de connexion à un serveur pour le moment.
*La sérialisation est le processus de conversion d'un objet en un format pouvant être facilement stocké ou transmis (comme XML et JSON). La désérialisation est l'opération inverse, consistant à reconstruire l'objet à partir de ce format. (Source: Microsoft sur la sérialisation)