2010-03-25 16 views
5

मुझे आश्चर्य है कि क्या आप डोमेन मॉडल के प्रत्येक उप-वर्ग के लिए एक संग्रह बनायेंगे। उदाहरण के लिए दो वर्गों के होते हैं:सी # रिपोजिटरी पैटर्न: प्रति सबक्लास प्रति एक भंडार?

 
public class Person 
{ 
    public virtual String GivenName { set; get; } 
    public virtual String FamilyName { set; get; } 
    public virtual String EMailAdress { set; get; }  
} 

public class Customer : Person 
{ 
    public virtual DateTime RegistrationDate { get; set; } 
    public virtual String Password { get; set; }   
} 

तुम दोनों एक PersonRepository और एक CustomerRepository या सिर्फ PersonRepository जो भी ग्राहक संबंधित प्रश्नों पर अमल करने में सक्षम हो जाएगा बनाने चाहेंगे?

उत्तर

3

यह वास्तव में इस बात पर निर्भर करता है कि आप डोमेन कैसे काम करते हैं। आपके डोमेन के प्रत्येक Aggregate Root (एक डीडीडी शब्द जिसका अर्थ मूल इकाई है, लेकिन पारंपरिक विरासत में नहीं) के लिए आपके पास आमतौर पर एक रिपोजिटरी होगी।

यदि आप वास्तव में डोमेन के हिस्से के रूप में व्यक्ति और ग्राहक दोनों के साथ काम करते हैं, तो प्रत्येक के लिए एक रिपोजिटरी उपयुक्त है। एक रिपोजिटरी को भारी कार्यान्वयन की आवश्यकता नहीं होती है, और रिपोजिटरीज अक्सर अपने बहुत से कार्यान्वयन को साझा कर सकते हैं, खासकर जब ओआरएम के साथ काम करते हैं।

This page भंडार पैटर्न के उद्देश्य के लिए एक अच्छा परिचय है। Domain Driven Design दृष्टिकोण शुरू करने के लिए एक अच्छी जगह है।

संबंधित मुद्दे