मान लीजिए कि मैं ठेठ इकाई कारDDD: उपवर्गों और जड़ संस्थाओं
class Car : Entity
{
public double MaxSpeed { get; set; }
public Color Color { get; set; }
/* ... */
}
इस इकाई करते हैं, मेरे डोमेन मॉडल में, जड़ एक सकल की इकाई होगा।
अब मान लें कि मैं कारों का विशेषज्ञ हूं। कंपनी इकाई
class Ferrari : Car
{
public string Nickname { get; set; }
}
चलो कहते हैं कि मैं किसी अन्य संस्था चलाते हैं: मैं एक फेरारी बनाते हैं, और फरारी के खुश मालिक उन्हें एक उपनाम से कॉल करने के लिए पसंद करते हैं। यह रूट इकाई अन्य कुल होगा। एक कंपनी पर काम कर रहे बहुत से लोग हैं, जो इकाई व्यक्ति द्वारा प्रतिनिधित्व करते हैं। व्यक्तियों में कार हो सकती है। लेकिन राष्ट्रपति एक कंपनी की आम तौर पर बहुत अमीर है और लोगों को इस तरह की है, वे फरारी है:
class President : Person
{
public Ferrari Ferrari { get; set; }
}
इस स्थिति में, मैं इकाई के अध्यक्ष, जो अंदर कंपनी सकल है, जो एक फेरारी का संदर्भ रखता है, जो कि कुल योग की मूल इकाई का विशेषज्ञता है।
क्या यह डीडीडी के संदर्भ में सही है? क्या मुझे रूट इकाइयों के विशेषज्ञता को समान योग की मूल संस्थाओं के रूप में स्वयं पर विचार करना चाहिए? मेरा मतलब है, मैंने जो डोमेन बताया है, वह इकाई फेरारी भी कार समेकित की मूल इकाई है (क्योंकि फेरारी भी एक कार है)?
अब मान लीजिए कि एक डाटाबेस को यह मॉडल लागू करने के लिए मेरे पास करते हैं। मुझे लगता है कि मेरा प्रश्न ओआर/एम ढांचे पर निर्भर नहीं है जिसका मैं उपयोग करूंगा।
मुझे कारों को रखने वाली तालिका को कैसे बनाना चाहिए? क्या मुझे "कारटाइप" कॉलम (संभावित मान: "कार", "फेरारी") के साथ एक एकल टेबल कार बनाना चाहिए, और एक निरर्थक उपनाम कॉलम?
या क्या मुझे कारों के लिए एक टेबल और फेरारिस के लिए एक टेबल बनाना चाहिए, बाद वाले व्यक्ति को पीके का कारों का एफके होना चाहिए?
धन्यवाद!
शानदार! धन्यवाद! दरअसल, मेरी "असली" प्रणाली में, "कारें" बहुत महत्वपूर्ण हैं, लेकिन "फेरारी" मेरे डोमेन में सबसे अधिक अपमानजनक चीज है, कि मैं ट्रैक को ढीला नहीं कर सकता, मुझे इसके आंकड़े करना चाहिए। –