Quand les bonnes pratiques aident à la pluridisciplinarité

 dans la catégorie Digital

Présentation de la DAO

Les objets en mémoire vive sont souvent liés à des données persistantes (stockées en base de données, dans des fichiers, dans des annuaires, etc.). Le modèle DAO propose de regrouper les accès aux données persistantes dans des classes à part, plutôt que de les disperser. Il s’agit surtout de ne pas écrire ces accès dans les classes « métier », qui ne seront modifiées que si les règles de gestion métier changent.

Ce modèle complète le vieux modèle « MVC » (Modèle – Vue – Contrôleur), qui préconise de séparer dans des classes différentes les problématiques :

  • des « vues » (charte graphique, ergonomie)
  • du « modèle » (cœur du métier)
  • des « contrôleurs » (tout le reste : l’enchaînement des vues, les autorisations d’accès, …

Avantages et Inconvénients

L’utilisation de DAO permet de s’abstraire de la façon dont les données sont stockées au niveau des objets métier. Ainsi, le changement du mode de stockage ne remet pas en cause le reste de l’application. En effet, seules ces classes dites « techniques » seront à modifier (et donc à re-tester). Cette souplesse implique cependant un coût additionnel, dû à une plus grande complexité de mise en œuvre.

Implémentations

Voici trois petits liens qui montrent comment implémenter la DAO (Data Access Object) soit l’implémentation de la base de données de façon autonome grâce à une structure en couches (comme le MVC). La maitrise de ce pattern permet, comme vous pourrez le constater, de passer facilement d’une technologie a une autre sans pour autant repartir de zéro, au contraire…

DAO en C#

http://www.asp.net/learn/mvc/tutorial-10-cs.aspx

DAO en Java

http://www.labo-sun.com/resource-fr-essentiels-836-1-java-j2ee-ejb-3-les-entreprise-java-bean-version-3-javabeans-.htm#h1n1

DAO en PHP

http://phpdao.com/

 

C’est ce dernier qui est le plus simple a aborder pour comprendre le principe de la DAO, EJB peut etre lourd a mettre en place mais offre une abstraction de la base de donnée très poussées, et enfin en Dotnet ou les possibilitées sont nombreuses (utilisation de LINQ To SQL, ADO Entitties, …).

Xavier Baillet

Entrepreneur et Directeur de la Création d'entreprises dans les secteurs du design, du marketing et du digital depuis 1999.

J'aime faire avancer les gens, les idées et la société. J'aime les entreprises utiles et les entrepreneurs passionnés.

J'aime faire exister les idées et les projets qui ont un sens pour les gens.

Retrouvez le profil complet de Xavier Baillet
Xavier Baillet

Les derniers articles par Xavier Baillet (tout voir)

Recommended Posts

Commencez à écrire et appuyez sur la touche "Entrée" pour lancer la recherche