Je suis actuellement en train de refactoriser un système.Conception basée sur le domaine - Problème de conception racine agrégée
J'ai la situation suivante:
Le système est de fournir des informations sur les entreprises dans plusieurs secteurs d'activité. Chaque entreprise peut être active dans un ou plusieurs secteurs. Les entreprises peuvent participer à certains programmes partenaires. Une entreprise peut avoir un ou plusieurs fabricants partenaires (par exemple un garage peut avoir un partenariat avec BMW/Mercedes) etc. Toutes ces participations existent pour une période donnée (période de validité). De plus, un constructeur comme BMW est lié à un secteur d'activité. Ainsi, une entreprise ne peut être partenaire de BMW, si BMW est valable pour le secteur des entreprises. C'est parce que le système ne maintient pas seulement les entreprises d'un secteur d'activité comme les garages, mais aussi les services de remorquage, etc.
Donc maintenant, mon design peut causer des invariants.
Société -> Cession (non variation lente) -> Secteur d'activité
Société -> Partenariat (date de - à) -> Organisation < - Secteur d'activité
Où et organisation de sociétés doivent partager le même Affectation du secteur des entreprises.
Donc, en ce moment, on pourrait changer l'assigment du secteur d'activité d'une organisation. Alors ce serait la règle d'avoir le même secteur d'activité pour être invalide.
Comment pourriez-vous modéliser quelque chose comme ça?
Je doute ce sont vrais invariants. –