2011-10-25 4 views
1

Je cherche à ajouter des fonctionnalités à un projet DDD mais je ne suis pas sûr de la meilleure façon de l'adapter à.fonctionnalité partagée en DDD

La fonctionnalité nécessaire est le marquage et la manipulation des groupes d'utilisateurs.

Comme beaucoup de choses seront marquables (utilisateurs, journaux, documents, etc.) il semble anti-DRY de recréer cette fonctionnalité dans chaque AR. Serait-il judicieux de disposer d'un référentiel de balises qui gère une table de balises centrale, puis de disposer de plusieurs tables plusieurs à plusieurs pour les différents types de balises nécessaires (par exemple, associer des balises à userId, journalId, etc.) ou même plusieurs beaucoup de table qui enregistre le type de relation. Si oui, est-ce que l'objet de domaine doit être modifié pour contenir le lien vers les balises?

La fonctionnalité de groupe est similaire. Il est nécessaire de permettre aux utilisateurs de créer des groupes d'utilisateurs, puis d'affecter des groupes à des entités non publiques (journaux, documents, etc.) pour leur donner accès à la vue.

Quelle serait la meilleure façon d'ajouter cette nouvelle fonctionnalité au projet?

Répondre

1

Concevoir des contextes délimités séparés pour le marquage et la fonctionnalité de groupe.

2

Le principe DRY est énoncé comme suit: «Chaque élément de connaissance doit avoir une représentation unique, non ambiguë, faisant autorité au sein d'un système». En séparant, vous faites la promotion des représentations non ambiguës et faisant autorité de la connaissance. DRY est tout au sujet de.