ฉันได้ทำการวิจัยก่อนโพสต์คำถามนี้ ในบรรดาคำถามหรือโพสต์อื่น ๆ ข้อใดข้อหนึ่งมีให้ด้านล่าง ฉันไม่สามารถทราบวิธีการกำหนด ..
วัตถุธุรกิจภายใน Data Access Layer
ฉันมีที่เก็บและชั้นธุรกิจเรียกที่เก็บเพื่อเรียกข้อมูล ตัวอย่างเช่นสมมติว่าฉันมีคลาสต่อไปนี้สำหรับ 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 ต้องการเรียกคืนออบเจกต์ลูกค้าจะเรียก GetCustomerById (customerId) ใน DAL
ต่อไปนี้เป็นข้อกังวลของฉันฉันไม่สามารถได้รับใจที่ชัดเจน:
ฉันไม่เห็นวิธีการกำหนดว่าวัตถุใดที่ GetCustomerById ใน DAL ควรกลับมา มันควรจะส่งคืน BllCustomer หรือ DalCustomer หรือไม่
ที่อยู่ที่ควรดึง (และ / หรือแปลงเป็นวัตถุธุรกิจ) ของที่อยู่ที่เชื่อมโยงกับลูกค้าอยู่ที่ไหน
หาก DAL ส่งคืนวัตถุ Dal แล้วตรรกะในการดึงและเติมที่อยู่จะต้องอยู่ใน BLL เท่านั้น หาก DAL ส่งคืนวัตถุ BLL แล้วตรรกะในการดึงและเติมที่อยู่สามารถอยู่ใน BLL หรือ DAL ขณะนี้ DAL กำลังส่งคืน Business Objects และตรรกะในการกรอกข้อมูลนั้นอยู่ใน DAL
จากสิ่งที่ฉันอ่านฉันเดาว่าไม่มีถูกหรือผิด จากลิงค์ด้านบนมีคนพูดทางเดียวและคนอื่นพูดทางอื่น แต่ฉันจะกำหนดได้อย่างไรว่าจะเหมาะที่สุดสำหรับกรณีของฉัน
ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม