Bonjour à tous,
Je me triture le méninges depuis quelques temps sur ce que dois renvoyé la couche DAL.
Je suis bien concient que dans la DAL ou dois faire globalement les opérations CRUD.
Mais comment gère-t-on le cas d'objets composés?
Prenons un exemple:
Un fournisseur livre des commandes.
Donc j'ai bien les classes Fournisseur et Commande.
Dans la classe Fournisseur j'ai une données membre List<Commande>.
De cette façon une instance de Fournisseur "connait" ses Commandes.
Ensuite, une Commande doit connaitre le Fournisseur qui la livre. On passe bien une Commande à un Fournisseur défini, on ne la jette pas en l'air et les articles sont livrés.
Donc dans la classe Commande je dois bien avoir une référence vers le Fournisseur qui la livre.
On obtient donc cette relation bilatérale:
Fournisseur 1 <------->* Commande
Ma question est: Comment et dans quelle couche vous faites ces associations? DAL? BLL?
Est-ce que la méthode de la DAL GetFournisseurById, renvoie le fournisseur avec sa collection de commande "alimentée" ou elle ne renvoie que le fournisseur (sans ses commandes)? Dans ce dernier cas, ce sera donc la BLL qui sera en charge d'alimenter la collection des Commande du fournisseur avec la liste des commandes obtenues depuis la méthode DAL GetCommandeByFournisseur(string idFournisseur).
Faites-vous ce genre de relations? Ou bien, vous ne conservez que l'identifiant du fournisseur de la classe Commande et dans la classe Fournisseur vous conservez la collection des Commandes?
Je vous remercie d'avance pour vos réponses.
PS: Si quelqu'un avait un exemple concret et global de ce genre de cas, je suis totalement preneur.
Partager