मुझे समझ में नहीं आता कि यह "डी कंटेनर" कैसा है। आधिकारिक साइट पर दिखाए गए उदाहरण मुझे कुछ भी नहीं बताते हैं: http://pimple.sensiolabs.orgपंपल को समझना
असल में मेरे पास एक साधारण साइट है, जिसमें कक्षाओं का एक सेट होता है: डीबी कक्षा, कैश क्लास, उपयोगकर्ता वर्ग और कुछ और जो सामग्री प्रकारों को संभालते हैं।
ये सभी वर्ग पिंपल में उल्लिखित "सेवाओं" की तरह हैं, और प्रत्येक सेवा एक और सेवा कॉल करने में सक्षम होना चाहिए। अभी मैं एक मुख्य कक्षा में सेवाओं को तत्काल कर रहा हूं जिसका उपयोग मैं अन्य वर्गों में सेवाओं को साझा करने के लिए एक सिंगलटन की तरह करता हूं।
जो मैंने पढ़ा है, से पिंपल बिल्कुल इस तरह की चीज करता है, लेकिन मैं इसका उपयोग कैसे करूं? :
क्या यह कक्षा को पूरे कंटेनर देने के लिए अच्छा अभ्यास माना जाता है? क्या वह थोड़ा डेमेटर के कानून का उल्लंघन नहीं करता है जिससे आप अपनी नौकरी करने की आवश्यकता से अधिक कक्षा दे रहे हैं? – AgmLauncher
@ एएमएमएलएचर डेमेटर का कानून LoD पर मूल पेपर के अनुसार वस्तुओं को बनाने के तरीकों पर लागू नहीं होता है। चूंकि एक सेवा लोकेटर प्रभावी ढंग से फैक्ट्री बनाने वाली फैक्ट्री है, इसलिए यह वास्तव में एलओडी का उल्लंघन नहीं कर रहा है। हालांकि, एक सेवा लोकेटर का उपयोग करने वाले सभी वर्गों में एसएल पर निर्भरता होगी, जिसके बाद पुन: उपयोग किया जाता है, इसलिए बेहतर है कि इसे एक जैसा इस्तेमाल न करें, लेकिन मेरे द्वारा दिए गए पहले लिंक में सुझाए गए उपयोग का पालन करें। – Gordon
यदि आप कन्स्ट्रक्टर में पूरे पिंपल कंटेनर इंजेक्ट करते हैं तो हम कैसे बता सकते हैं कि क्लास SomeClassThatNeedsSession के लिए वास्तविक निर्भरता क्या हैं? परीक्षणों के लिए नकली करने के लिए मुझे कौन सी निर्भरताओं को पता चलेगा? –