में किसी डोमेन मॉडल पर निजी फ़ील्ड कैसे सेट करें मैं वर्तमान में एनीमिक डोमेन मॉडल का उपयोग करने वाले कोडबेस के साथ काम कर रहा हूं, और मैं डोमेन मॉडल और डोमेन की ओर बढ़ने के लिए डोमेन मॉडल में अधिक तर्क स्थानांतरित करने की कोशिश कर रहा हूं प्रेरित डिजाइन, लेकिन मैं निम्नलिखित समस्या से जूझ रहा हूं।रिपॉजिटरी
मैं एक डोमेन मॉडल नौकरी कहा जाता है जो इस तरह दिखता है,
public class Job
{
private DateTime _someOtherDate;
private DateTime _lastUpdated;
// this may be called from many different services
public void SetLastUpdated()
{
_lastUpdated = DateTime.UtcNow;
}
}
समय में कुछ बिंदु पर, प्रसंस्करण एक नौकरी मैं समय में है कि विशिष्ट बात करने के लिए काम के अंतिम अद्यतन तिथि निर्धारित करना चाहते हैं के दौरान की है। ऐसा करने के लिए मैंने इसके लिए एक सार्वजनिक सेटटर बनाया है जैसा कि आप ऊपर देख सकते हैं।
एक समस्या तब उत्पन्न होती है जब मैं अपने भंडार में डेटाबेस से नौकरी वापस खींच रहा हूं, क्योंकि अब मेरे पास इस क्षेत्र के लिए कोई सार्वजनिक सेटटर नहीं है क्योंकि मैंने इसे SetLastUpdated()
तक सीमित कर दिया है।
क्या कोई इस बात की सलाह दे सकता है कि नौकरी को पुनर्प्राप्त करते समय मैं इस संपत्ति को रिपोजिटरी कार्यान्वयन में कैसे सेट कर सकता हूं, लेकिन सेवा से नहीं, जहां यह SetLastUpdated()
पर कॉल करने के लिए प्रतिबंधित है।
अपडेट 1) मैंने प्रश्न अपडेट किया है क्योंकि प्रारंभ तिथि का उपयोग करना एक बुरा उदाहरण था।
अपडेट 2) दिए गए उत्तर से, एक ही रास्ता मैं देख सकता हूँ यह किया जा रहा भंडार में AutoMapper का उपयोग नहीं है, जब नौकरी के निर्माण _lastUpdated की स्थापना, और इस का उपयोग कर के लिए नौकरी वर्ग पर एक निर्माता जोड़कर है भंडार की नौकरी पुनर्प्राप्ति विधि में वापस लौटने के लिए।
आप अपने डोमेन मॉडल को हाइड्रेट करने के लिए किस प्रकार का पैटर्न उपयोग कर रहे हैं? क्या आप एक ओआरएम, या यादें का उपयोग कर रहे हैं? आपके निर्माता क्या दिखते हैं? – arootbeer
मैं डोमेन मॉडल पर एंटीटी फ्रेमवर्क मॉडल को मैप करने के लिए ऑटोमैपर का उपयोग कर रहा हूं। यह वह जगह है जहां प्रारंभ तिथि निर्धारित की जाएगी। डोमेन मॉडल पर कोई रचनाकार नहीं हैं, वे डिज़ाइन द्वारा एनीमिक हैं। – Jonathan
फोरम साइट्स के विपरीत, हम "धन्यवाद" या "किसी भी मदद की सराहना नहीं करते हैं", या हस्ताक्षर [so] का उपयोग नहीं करते हैं। देखें "[चाहिए 'हाय', 'धन्यवाद,' टैगलाइन, और नमस्कार पदों से हटा दिए जाएंगे?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -प्रमुख-से-पोस्ट) –