Aller au contenu

Patrons de conception/Module de table

Un livre de Wikilivres.
Patron de conception
Catégorie : EntrepriseLogique du domaine
Nom français : Module de table
Nom anglais : Table Module
Une instance unique qui gère la logique métier pour toutes les lignes d'une table ou vue dans une base de données.


Un des messages clés de l'orienté objet est l'encapsulation des données avec le comportement qui les utilisent. L'approche orientée objet traditionnelle est basée sur les objets avec identité, à l'instar du modèle de domaine. Ainsi, si nous avons une classe « employé », toute instance correspond à un employé particulier. Ce schéma fonctionne bien car en ayant une référence à un employé, nous pouvons exécuter des opérations, suivre les relations et collecter des données sur lui.

L'un des problèmes avec le modèle de domaine est l'interface avec les bases de données relationnelles. À bien des égards, cette approche traite la base de données relationnelle comme une entité ésotérique avec qui personne ne veut communiquer. En conséquence, vous avez souvent besoin d'une gymnastique de programmation considérable pour extraire des données de la base de données, en les transformant entre deux représentations différentes des données.

Un module de table organise la logique du domaine avec une classe par table dans la base de données, et une seule instance de la classe contient les diverses procédures agissant sur les données. La différence principale avec le modèle de domaine est, par exemple, que pour gérer plusieurs commandes, le modèle de domaine aura un objet par commande, tandis qu'un module de table aura un objet pour gérer toutes les commandes.