Tôi đã làm một số nghiên cứu trước khi đăng câu hỏi này. Trong số các câu hỏi hoặc bài đăng khác, một trong những câu hỏi được cung cấp dưới đây. Tôi không thể có được một tâm trí rõ ràng làm thế nào để xác định ..
Đối tượng kinh doanh trong lớp truy cập dữ liệu
Tôi có một Kho lưu trữ và Lớp nghiệp vụ gọi kho lưu trữ để lấy dữ liệu. Ví dụ: giả sử tôi có các lớp sau cho BLL và 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; }
}
Nếu BLL muốn truy xuất một đối tượng Khách hàng, nó sẽ gọi GetCustomerById (customerId) trong DAL.
Sau đây là những lo lắng của tôi, tôi không thể có được một tâm trí rõ ràng:
Tôi không thể thấy cách xác định đối tượng mà GetCustomerById trong DAL sẽ trả về? Nó nên trả lại BllCustomer hoặc DalCustomer?
Nơi nào nên truy xuất (và / hoặc chuyển đổi thành đối tượng Doanh nghiệp) của địa chỉ được liên kết với khách hàng?
Nếu DAL trả về các đối tượng Dal thì logic để truy xuất và điền Địa chỉ chỉ có thể có trong BLL. Nếu DAL trả về các đối tượng BLL, thì logic để truy xuất và điền vào Địa chỉ có thể ở trong BLL hoặc DAL. Hiện tại DAL đang trả về các Đối tượng Kinh doanh và logic để điền vào đó là trong DAL.
Từ những gì tôi đọc, tôi đoán không có đúng hay sai. Từ liên kết bao gồm ở trên, có những người nói một cách và những người khác đang nói theo cách khác. Nhưng làm thế nào để tôi xác định cái nào sẽ hoạt động tốt nhất cho trường hợp của tôi?
Bất kỳ trợ giúp sẽ được đánh giá cao.