वर्तमान में किसी अन्य टीम से ली गई सामग्री की कुछ कोड समीक्षा करने में और एसआरपी लागू करने और एनीमिक या समृद्ध डोमेन मॉडल (मार्टिन फाउलर द्वारा परिभाषित) के संबंध में इसके बारे में एक संदेह है। रिच डोमेन मॉडल अवधारणा बुद्धिमान ऑब्जेक्ट है जो न केवल अपनी गुणों को सेट/प्राप्त कर सकती है बल्कि कुछ और जटिल व्यावसायिक तर्क भी कर सकती है। मुझे आश्चर्य है कि यह एसआरपी में कैसे फिट बैठता है?एकल जिम्मेदारी सिद्धांत कैसे एनीमिक/समृद्ध डोमेन मॉडल से संबंधित है?
कहें कि मेरे पास मेरे मॉडल वर्ग में कुछ गुण हैं जो उन प्रोपों का पर्दाफाश कर सकते हैं और अपने प्रोपरीज पर कुछ सरल गणना प्रदान कर सकते हैं। भंडारण
storage.store(key, object);
यह SRP का उल्लंघन नहीं करता है, तो में
class MyObject {
// get set
// parse sth
}
स्टोर विधि: अगली आवश्यकता इस तरह, कुछ भंडारण उद्देश्य यह है कि मेरे नियंत्रण में नहीं है में इस वस्तु डाटा स्टोर करने की संभावना है करने के लिए है MyObject में
public void store(Storage storage) {
storage.store('keyOne', fieldOne);
storage.store('keyTwo', fieldTwo);
}
इस ऑब्जेक्ट के पीओवी से स्टोर की विधि है, यह एक अच्छा विचार है कि वह अपने राज्य को स्टोर करने में सक्षम हो।
public StorageService {
private Storage;
// constructor here
....
public void store(MyObject myobj);
}
तुम मुझे किसी भी लिंक मैं इस समस्या के बारे में पढ़ सकते हैं इंगित कर सकते हैं: अन्य तरीका यहां सेवा की तरह लागू करने और इस तरह यह करने के लिए हो सकता है? मुझे यहां SO पर एक धागा मिला है लेकिन यह मेरे प्रश्न का पूरी तरह उत्तर नहीं देता है।
डीडीडी में इसका समाधान कैसे किया जाता है? डीडीडी में मॉडल परिभाषित समृद्ध हैं और बहुत अधिक जिम्मेदारियों के रूप में देखा जा सकता है।
यह एसआरपी की अत्यधिक शाब्दिक व्याख्या हो सकती है। अंकल बॉब को अनदेखा करें और "एकजुटता" के लिए जाएं। –
जैसा कि मेरे उत्तर में बताया गया है, यदि संग्रहण स्थिर और अमूर्त है (कहें, कुछ मानक JSON, XML, RDB इंटरफ़ेस) तो, आईएमओ, समेकन के लिए बिल्कुल कोई समस्या नहीं है और इसे डोमेन मॉडल में डालने में कोई समस्या नहीं है। – user949300