Bonjour,
J'ai un "petit" problème d’architecture (je résume la problématique) et je cherche une solution pour éviter de dupliquer du code (les attributs de classes en C#) :
J’ai 2 projets P1 et P2 et j’ai 3 classes C1, C2, C3 dans un autre projet (composant partagé) liées les unes aux autres par leurs attributs : C1 contient un attribut de type C2 et C2 contient un attribut de type C3.
Les projets P1 et P2 utilisent C1, C2, C3 pour leurs attributs, mais les fonctions membres de C1, C2, C3 sont différentes pour P1 et pour P2. Il n’y a que les attributs de C1, C2 et C3 qui sont identiques dans P1 et P2.
Question : Comment faire pour centraliser uniquement les attributs et éviter de dupliquer C1, C2 et C3 dans P1 et P2 et avoir ainsi les attributs qui seront partagés (et non doublonnés) ?
Merci d'avance pour vos idées !
Concrètement : C1, C2 et C3 sont des attributs de tables stockés en base de données. P1 et P2 sont 2 projets différents qui utilisent ces données. Le souhait est de centraliser les attributs C# mais que les opérations membres de C1, C2 et C3 ne soient pas centralisées car elles sont différentes dans P1 et dans P2.
PS : L'héritage ne convient pas. Peut-être qu’un pattern le permettrait ?
Partager