दृढ़ता अज्ञानता एकल जिम्मेदारी सिद्धांत का एक अनुप्रयोग है, जिसका अर्थ है कि डोमेन ऑब्जेक्ट्स ( डीओ ) में दृढ़ता से संबंधित कोड नहीं होना चाहिए, इसके बजाय उन्हें केवल डोमेन तर्क होना चाहिए।
a) मेरा यह अर्थ है कि कोड जो निचली परतों (यानी दृढ़ता परतों) से संपर्क करता है , वह व्यवसाय तर्क परत के अन्य वर्गों ( OC ) में डोमेन मॉडल के बाहर रहता है ?
बी) अगर मेरी धारणा एक के तहत सही है, तो डीओ , कहते हैं Customer
, कभी भी इस तरह के तरीके शामिल नहीं हैं GetCustomers
या GetCustomerByID
?
c) यदि a और b) के तहत मेरी धारणाएं सही हैं, और मान लिया गया है कि Customer
डोमेन ऑब्जेक्ट अपने कुछ गुणों के लिए आलसी लोडिंग का उपयोग करता है, तो कुछ बिंदु पर Customer
आंतरिक तर्क OC से संपर्क करना चाहिए , जो बदले में हटाए गए डेटा को पुनः प्राप्त करता है। लेकिन अगर डेटा को प्राप्त करने के लिए OCCustomer
से संपर्क करने की आवश्यकता है , तो हम वास्तव में यह दावा नहीं कर सकते कि डोमेन ऑब्जेक्ट्स में दृढ़ता से संबंधित तर्क नहीं हैं।
धन्यवाद
Jkohlhepp के लिए प्रतिक्रिया
1) मुझे लगता है OrderProvider
और CustomerProvider
कक्षाएं व्यापार तर्क परत के भीतर निहित हैं?
2) मैं आपके जवाब से इकट्ठा करता हूं कि बी के तहत मेरी धारणाएं सही हैं?
3)
... मैं यह देखने के लिए जाँच करूंगा कि क्या कुछ निजी आदेश क्षेत्र आबाद थे या यदि यह शून्य था। यदि यह अशक्त है ...
लेकिन जहां तक मैं बता सकता हूं, जैसे ही डोमेन कोड को यह जांचने की आवश्यकता है कि क्या निजी order
क्षेत्र आबाद था, और यदि यह नहीं है, तो ऑर्डरप्रोवीडर से संपर्क करें, हम पहले से ही पीआई सिद्धांत का उल्लंघन कर रहे हैं ?!