DCI के दिल में संज्ञानात्मक उपकरण यह डेवलपर प्रदान करता है। मुझे यकीन नहीं है कि क्या आपने सभी महान James Coplien/Trygve Reenskaug व्याख्यान देखे हैं, लेकिन मैं अवधारणाओं के लिए किसी नए व्यक्ति के लिए इसकी गलती को दूर करने की कोशिश करूंगा। यह सिस्टम के इंटरैक्टिंग डोमेन ऑब्जेक्ट्स (डेटा एंटिटीज, या सिस्टम क्या है), और व्यवहार ऑब्जेक्ट्स (सिस्टम क्या करता है) में प्रथम श्रेणी के नागरिकों के रूप में सिस्टम व्यवहार को आगे बढ़ाने के बारे में है जो कार्यक्षमता के साथ इंजेक्शन करके ऑब्जेक्ट्स के बीच सहयोग में मध्यस्थता करता है एक उपयोग मामले के संदर्भ में बस समय में।
बीडीडी सोचें। हम कई ऑब्जेक्ट्स में व्यवहार नहीं करते हैं जैसे कि कार्यक्षमता के कणों को हमारे डेटा ऑब्जेक्ट्स में फैलाया जाता है जो दृढ़ता परत के साथ अत्यधिक होते हैं, लेकिन एकजुट वस्तुओं के भीतर जो पूरी तरह से उपयोग के मामले (कहानी) के लिए मौजूद होते हैं, और जो क्षमताओं को इंजेक्ट करते हैं और समन्वय करते हैं इन गूंगा डेटा वस्तुओं की बातचीत। एक भौतिक वास्तुकला की सरासर परतों की तरह, धीरे-धीरे डेटा ऑब्जेक्ट्स को बदलना तेजी से बदलते फीचर कार्यान्वयन के साथ लोड नहीं होता है जो वे हर समय ले जाते हैं। इसके बजाय, रुबी हमें रनटाइम पर ऑब्जेक्ट्स में व्यवहार को आसानी से इंजेक्ट करने की क्षमता प्रदान करता है जब/केवल उपयोग मामले के संदर्भ में आवश्यक हो।
आरओआर में एक उदाहरण के रूप में, यदि आपके पास एक उपयोग मामले में एक नियंत्रक कार्रवाई शामिल है जिसमें एक घटना संभाव्यता मैट्रिक्स है जहां अधिकांश प्रविष्टियों को अनुरोधों के केवल एक छोटे प्रतिशत में ट्रिगर किया जा सकता है, तो फुले हुए व्यवहार के नेटवर्क को तुरंत चालू करना डेटा के हर संभव उपयोग मामले के लिए हर घटना को निष्पादित करने के लिए ज्ञान के साथ भारी वस्तुओं अनावश्यक है। इसके अलावा, मेरे टेक्स्ट एडिटर में 18 फाइलों के माध्यम से खोदने के लिए यह समझने के लिए कि यह बातचीत कैसे काम करती है, संदर्भ वस्तु द्वारा प्रदान किए गए इंटरफ़ेस में पैटर्न के लिए स्पष्ट रूप से सारित सभी तर्कों को एक निश्चित प्लस भी है।
रेलवे में नियंत्रकों और मॉडलों के बीच अमूर्तता की 'दूसरी' परत के बारे में आपके प्रश्न के बारे में, मुझे यकीन नहीं है कि आप किस दूसरे का जिक्र करते हैं। भले ही, हाँ। हर तरह से। कोई बात नहीं। Design patterns और अंकल बॉब्स 'SOLID सिद्धांत ओओ डिजाइन में काफी आम तौर पर सर्वोत्तम प्रथाओं को स्वीकार करते हैं। ये दोनों नीति और कार्यान्वयन के बीच कमजोर युग्मित अवशेषों को दृढ़ता से प्रोत्साहित करते हैं। वे दोनों रोमन साम्राज्य के विनाशकारी विध्वंस के विनाशकारी मस्तिष्क डंप से बचने में मदद करते हैं, क्योंकि वे सभी को समझते हैं कि एक आम ढांचा प्रदान करते हैं। मेरे लिए डीसीआई, एक ही प्रकार का संज्ञानात्मक रूपरेखा प्रदान करता है, लेकिन सिस्टम को प्रभावी ढंग से समझने और प्रभावी ढंग से निपटने के लिए, और यह किसी वस्तु ऑब्जेक्ट उन्मुख डिजाइनर के लिए पवित्र अंगूर है।
स्रोत
2012-05-12 02:38:50
अपने प्रश्न के लिए खड़ा है अत्यंत व्यापक है और वहाँ बहुत मुश्किल जवाब देने के लिए के लिए। वहां कुछ ऐसे स्थान हैं जहां ऐसा लगता है कि आप डीसीआई संदर्भ में डीसीआई संदर्भ में कुछ सवालों के जवाब देने के लिए और भी कठिन नहीं बना रहे हैं। यदि आप लक्ष्य हैं तो मैं डीसीआई सामान के साथ आपकी मदद कर सकता हूं लेकिन आपको –
के दायरे को कम करने की आवश्यकता होगी, मैं ज्यादातर समझना चाहता हूं कि * डीसीआई क्या है। एक रेल कार्यान्वयन के लिए, एक साधारण उदाहरण या यहां तक कि एक दो-पंक्ति स्पष्टीकरण बहुत अच्छा होगा। – GeReV
महान सवाल। मुझे यह पढ़ने तक नहीं पता था कि प्रतिमान के लिए एक नाम था कि मैं हाल ही में हंसी कर रहा हूं।मैं उस कोड को देख रहा हूं जिसे मैं बनाए रखता हूं (जिसे मैंने नहीं लिखा था) और सोच रहा था "डेटा और व्यवहार के बीच क्लासवाइंड अलगाव क्या है।" मुझे लगता है कि यह ठीक है जो डीसीआई करने की कोशिश कर रहा है। –