Bonjour,
Je me pose une question concernant les classes métiers et la manière de l'organiser.
Pour illustrer mon problème, voici un exemple simple.
Dans la DB, nous avons :
- une table Fournisseur avec pour colonnes F_Id (INT PK) et F_Nom (VARCHAR(50)).
- une table Marque avec pour colonnes M_Id (INT PK) et M_Nom (VARCHAR(50)).
- une table de jointure entre Fournisseur et Marque avec les colonnes F_ID et M_ID référençant les colonnes du même nom dans les tables précédentes et composant la clef primaire.
Dans l'application, je suis dont tenté de créer une classe Fournisseur avec comme propriétés :
- Id (Integer)
- Nom (String)
- Marques (List(Of Marque)) [qui contient les marques que ce fournisseur fournit]
Je suis également tenté de créer une classe Marque avec comme propriétés :
- Id (Integer)
- Nom (String)
- Fournisseurs (List(Of Fournisseur)) [qui contient les fournisseurs qui fournissent cette marque]
Mon problème est le suivant :
Au moment de l'instanciation d'un objet de type Fournisseur, je vais donc aller récupérer sa liste de marques. Au moment d'instancier un objet de type Marque (pour le mettre dans la liste), je vais aller récupérer sa liste de fournisseurs.
Et le cercle vicieux est enclenché.
Quelle est la bonne pratique pour ce genre de situation ?
P.S. : J'ai trouvé une solution pour une référence circulaire à base "d'objets uniques". Mais vu qu'ici il s'agit de listes, je ne vois pas comment appliquer à cette situation.
Partager