पर डेटा एक्सेस लेयर से कौन सी ऑब्जेक्ट्स लौटनी चाहिए यदि आपके पास उदाहरण के लिए, व्यक्ति (आईडी, नाम इत्यादि) नामक डेटाबेस तालिका है, तो डेटा किस प्रकार की ऑब्जेक्ट को टियर रिटर्न एक्सेस करना चाहिए व्यापार स्तर के लिए? मैं कुछ इस तरह सोच रहा हूँ:डेटा एक्सेस लेयर से आपको एन-स्तरीय सिस्टम
//data access tier
public class DataAccess{
public interface IPerson{
int ID{ get; set; }
string Name{ get; set; }
}
internal class Person : IPerson{
private int id;
private string name;
public int ID{ get{return id; } set{ id=value; } }
public int Name{ get{retutn name; } set{ name=value; }
}
public static IPerson GetPerson(int personId)
{
//get person record from db, populate Person object
return person;
}
}
//business tier
public class Person : IPerson{
private int id;
private string name;
public int ID{ get{return id;} set{id=value;} }
public string Name{ get{return name;} set{name=value;} }
public void Populate(int personId){
IPerson temp = DataAccess.GetPerson(personId);
this.ID = temp.ID;
this.Name = temp.Name;
}
}
लेकिन यह सब एक छोटे से बोझिल लगता है? क्या इस समस्या का एक और अधिक सुरुचिपूर्ण समाधान है? क्या मुझे डेटा एक्सेस लेयर से डेटा लेयर को व्यावसायिक परत पर वापस करना चाहिए?
डीएएल को व्यावसायिक संस्थाओं परत के संदर्भ में एक [अवांछित] दो-तरफा निर्भरता बनाने का संदर्भ नहीं दे रहा है? –
नहीं, व्यापार संस्थाओं परत को डीएएल को कोई भरोसा नहीं होगा। यह सिर्फ 'गूंगा' कंटेनर वस्तुओं का एक assembly है। आपके ऐप (यूआई या अलग व्यापार तर्क परत) का हिस्सा जो उन्हें डीएएल से अनुरोध कर रहा है, असेंबली के दूसरे हिस्से में होना चाहिए और डीएएल और संस्थाओं दोनों को संदर्भित करना चाहिए। –
असेंबली ए: कक्षा परिभाषा, फ़ील्ड और गुणों के अलावा कुछ भी नहीं। डोमेन असेंबली असेंबली बी: डीएएल। संदर्भ असेंबली ए असेंबली सी: यूआई। संदर्भ असेंबली ए और बी – Amy