मैं कन्स्ट्रक्टर इंजेक्शन पैटर्न और नियम Don’t call the container; it’ll call you के आसपास थोड़ा उलझन में हूं।कन्स्ट्रक्टर इंजेक्शन - कहां कॉल करें?
क्या कोई मुझे समझा सकता है (और शायद कोई और) कैसे वास्तविक अनुप्रयोग को कन्स्ट्रक्टर इंजेक्शन का उपयोग करके सभी डी लाभ प्राप्त करना चाहिए? मैं के लिए है कि कुछ सरल देने के लिए और मुझे लगता है कि सामान्य उदाहरण:
DomainObject
RepositoryObject
DaoObject
संबंधों स्पष्ट है (मुझे लगता है कि) - RepositoryObject जरूरत DaoObject, DomainObject जरूरत भंडार।
कन्स्ट्रक्टर इंजेक्शन का उपयोग करके मुझे लगता है कि मैं नए कीवर्ड के बारे में भूल सकता हूं (ज्यादातर मामलों में), लेकिन जब, मुझे नई वस्तुओं (मुख्य रूप से डोमेन) कहां और कैसे बनाना चाहिए? मुझे सभी वर्गों के लिए कारखानों को लिखना होगा? क्या मुझे उस कारखाने में डी कंटेनर का उल्लेख करना चाहिए?
सबसे अच्छा होगा जब कोई मुझे कुछ असली ऐप उदाहरण दिखाएगा (कृपया Asp.Net MVC :) :) या कुछ प्रोजेक्ट संरचना को स्केच करें।
यह उत्तर देखें: http://stackoverflow.com/questions/6277771/what-is-a-composition-root-in-the-context-of- निर्भरता- इंजेक्शन/6277806#6277806 –
@ मार्क - ठीक है, मुझे लगता है कि मुझे लगता है कि मुझे डोमेन ऑब्जेक्ट के निर्माण के साथ कुछ समस्याएं हैं। आइए मान लें कि मैंने नियंत्रक ऑब्जेक्ट (ग्लोबल.एक्सएक्स ऐप की जड़ के रूप में) बनाया है और अब मेरे पास कुछ एक्शन (पोस्ट) है, और इस बिंदु पर बनाना है, कहें - नई पुस्तक, और बुक को कुछ निर्भरता की आवश्यकता है (रिपोजिटरी या कुछ कुछ) । तो उस नई वस्तु को कैसे बनाया जाए? क्या मुझे हमेशा उस निर्भरता को नियंत्रक ऑब्जेक्ट प्रदान करना चाहिए, हालांकि उनमें से कुछ का उपयोग केवल "पुस्तक" ऑब्जेक्ट बनाने के लिए किया जाता है? वही स्थिति रिपोजिटरीज़ के साथ होती है (उनकी कुछ विधि नई डोमेन ऑब्जेक्ट्स बनाती हैं)। – mgibas
http://stackoverflow.com/questions/4835046/why-not-use-an-ioc-container-to-resolve- निर्भरता-for-entities-business-object/4836790#4836790 –