मैंने इस प्रश्न को पोस्ट करने से पहले कुछ शोध किया। अन्य प्रश्नों या पोस्ट के बीच, उनमें से एक नीचे दिया गया है। मैं स्पष्ट मन नहीं पा सका कि कैसे निर्धारित किया जाए ..
डेटा एक्सेस लेयर के भीतर व्यावसायिक वस्तुएँ
मेरे पास एक रिपॉजिटरी है और बिजनेस लेयर्स डेटा को पुनः प्राप्त करने के लिए रिपॉजिटरी को कॉल करते हैं। उदाहरण के लिए, मान लें कि मेरे पास 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 ग्राहक ऑब्जेक्ट को पुनः प्राप्त करना चाहता है, तो वह DAL में GetCustomerById (customerId) को कॉल करेगा।
निम्नलिखित मेरी चिंताएं हैं जिन्हें मैं स्पष्ट मन नहीं कर सका:
मैं यह नहीं देख सकता कि DAL में GetCustomerById को किस वस्तु का निर्धारण करना चाहिए? क्या इसे BllCustomer या DalCustomer को वापस करना चाहिए?
ग्राहक के साथ जुड़े पते का पुनर्प्रकाशन (और व्यावसायिक वस्तु में परिवर्तित) कहां होना चाहिए?
यदि DAL दाल वस्तुएं लौटाता है, तो पते को पुनः प्राप्त करने और भरने का तर्क केवल BLL में हो सकता है। यदि DAL BLL ऑब्जेक्ट लौटाता है, तो पता पुनः प्राप्त करने और भरने का तर्क या तो BLL या DAL में हो सकता है। वर्तमान में डीएएल व्यावसायिक वस्तुओं को लौटा रहा है और इसे भरने के लिए तर्क डीएएल में है।
मैं जो पढ़ता हूं, उससे मुझे लगता है कि कोई सही या गलत नहीं है। ऊपर दिए गए लिंक से, एक तरह से लोग कह रहे हैं और दूसरे लोग दूसरे तरीके से कह रहे हैं। लेकिन मैं कैसे निर्धारित करूं कि मेरे मामले में सबसे अच्छा काम करेगा?
किसी भी सहायता की सराहना की जाएगी।