J'ai fait quelques recherches avant de poster cette question. Parmi d'autres questions ou messages, l'une d'entre elles est fournie ci-dessous. Je ne pouvais pas savoir clairement comment déterminer ..
Objets métier dans une couche d'accès aux données
J'ai un référentiel et les couches métier appellent le référentiel pour récupérer les données. Par exemple, disons que j'ai les classes suivantes pour BLL et DAL:
class BllCustomer
{
public int CustomerId {get; set;}
public String Name {get; set;}
public BllAddress Address {get; set;}
}
class BllAddress
{
public int AddressId {get; set;}
public String Street {get; set;}
public String City {get; set;}
public String ZipCode {get; set; }
}
class DalCustomer
{
public int CustomerId {get; set;}
public String Name {get; set;}
public int AddressID {get; set;}
}
class DalAddress
{
public int AddressId {get; set;}
public String Street {get; set;}
public String City {get; set;}
public String ZipCode {get; set; }
}
Si le BLL veut récupérer un objet Customer, il appellera GetCustomerById (customerId) dans DAL.
Voici mes préoccupations, je ne pouvais pas avoir un esprit clair:
Je ne vois pas comment déterminer quel objet le GetCustomerById dans DAL doit retourner? Doit-il renvoyer BllCustomer ou DalCustomer?
Où devrait être la récupération (et / ou la conversion en objet métier) de l'adresse associée au client?
Si le DAL renvoie des objets Dal alors, la logique pour récupérer et remplir l'adresse ne peut être que dans le BLL. Si le DAL renvoie des objets BLL, alors la logique pour récupérer et remplir l'adresse peut être soit dans le BLL soit dans le DAL. Actuellement, le DAL renvoie les objets métier et la logique pour le remplir se trouve dans le DAL.
D'après ce que j'ai lu, je suppose qu'il n'y a pas de bien ou de mal. Du lien inclus ci-dessus, il y a des gens qui disent dans un sens et les autres disent dans l'autre sens. Mais comment puis-je déterminer ce qui fonctionnerait le mieux pour mon cas?
Toute aide serait appréciée.