이 질문을 게시하기 전에 몇 가지 조사를 수행했습니다. 다른 질문이나 게시물 중 하나가 아래에 제공됩니다. 어떻게 결정해야할지 모르겠다
리포지토리가 있고 비즈니스 계층에서 리포지토리를 호출하여 데이터를 검색합니다. 예를 들어, BLL 및 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; }
}
BLL이 Customer 개체를 검색하려면 DAL에서 GetCustomerById (customerId)를 호출합니다.
다음은 명확한 마음을 가질 수없는 나의 관심사입니다.
DAL의 GetCustomerById가 반환해야하는 개체를 결정하는 방법을 알 수 없습니다. BllCustomer 또는 DalCustomer를 반환해야합니까?
고객과 관련된 주소의 검색 (및 / 또는 Business Object로 변환)은 어디에 있어야합니까?
DAL이 Dal 개체를 반환하면 Address를 검색하고 채우는 논리는 BLL에만있을 수 있습니다. DAL이 BLL 개체를 반환하면 주소를 검색하고 채우는 논리가 BLL 또는 DAL에있을 수 있습니다. 현재 DAL은 Business Objects를 반환하며이를 채우는 논리는 DAL에 있습니다.
내가 읽은 것에서 옳고 그른 것이 없다고 생각합니다. 위에 포함 된 링크에는 한 가지 방법으로 말하는 사람들이 있고 다른 사람들은 다른 방법으로 말하는 사람들이 있습니다. 그러나 내 사례에 가장 적합한 것을 어떻게 결정합니까?
도움을 주시면 감사하겠습니다.