Mécanisme de persistance et Data Access Object (DAO)

Transcription

Mécanisme de persistance et Data Access Object (DAO)
Université de Cergy-Pontoise, Master ISC/SIC, 1èreAnnée
Mécanisme de persistance et Data Access Object (DAO)
Conception Orientée Objet - TD N° 6
1. Comprendre le mécanisme de persistance des objets
Téléchargez le programme de démonstration et le faire fonctionner sur votre ordinateur. Créez une
nouvelle base de données nommée « coo-demo » (nom choisi dans le fichier de configuration). L’ordre
des classes de test à étudier : TestComplexPerson, TestPerson et TestTransation. Le diagramme d’étattransition simplifié ci-dessous vous permet de mieux comprendre le mécanisme de persistance.
L’objectif de l’exercice est d’approfondir vos compréhension / connaissances / compétences en ORM
Hibernate, en vue du projet COO à réaliser en Atelier de Gestion de Projet (AGP).
2. Restructuration et refactoring du programme
A ce jour, nous avons eu différentes versions de notre programme « bank ». Notre programme évolue
rapidement et sa taille augmente sans cesse. Avant d’avoir les prochaines versions, nous avons besoin
de « prendre un peu de recul » et de restructurer notre programme afin de garantir toujours sa
maintenabilité et son extensibilité, dans le cadre d’une architecture en 5-tiers (prévue pour la 8e séance
de TD). Voici une liste non exhaustive des parties du programme à « refactor » :
 Certains objets de domaine (business objects : BO) sont annotés et persistés directement, ce qui
contre le principe de DAO. Il faut les rendre en POJO (Plain Old Java Object) et gérer le travail de
persistance dans la couche « Persistence ». A ce propos, les interfaces DAO (ex.
StatisticPersistence) et leurs implémentations doivent être réorganisées.
 Vous devez réfléchir pour créer des classes persistance (à annoter) dans la couche
« Persistence », afin de traiter les opérations CRUD, demandées par la couche « Business ».
 La classe « Simulation » est { présent bien complexe, vous pouvez essayer d’en extraire certains
fonctionnements et les mettre dans d’autres nouvelles classes, en laissant uniquement
l’algorithme de simulation.
 Regrouper toutes classes BO dans un package et des sous-packages.
……
Presentation
Layer
MVC controller
Layer
JSF Pages
JSF beans
Business Layer
DAO Layer
Persistence Layer
Business objects
(Domain objects)
DAO interfaces
DAO implementation
with data sources
JSF Pages
1/1

Documents pareils