मैं वर्तमान में एक दुकान पर काम करते हुए "प्रभावी जावा" पढ़ रहा हूं जो वसंत निर्भरता इंजेक्शन का भारी उपयोग करता है। ब्लोच की पुस्तक को पढ़ते समय कोई मदद नहीं कर सकता है, लेकिन वह कक्षाओं में अपरिवर्तनीयता पर जोर देता है (वह कई बार कहता है कि वर्ग जितना संभव हो उतना अपरिवर्तनीय होना चाहिए)। मैं मदद नहीं कर सकता लेकिन इस संबंध में प्रत्यक्ष संघर्ष में महसूस करता हूं कि स्प्रिंग निर्भरता इंजेक्शन (और उस तथ्य के लिए अधिकांश डीआई इंजन) javabeans मानक पर है। 'स्प्रिंग इन एक्शन' पढ़ना डी पर अध्यायों की तरह प्रतीत होता है कि वे ब्लॉच क्रिंग को अपने उत्परिवर्ती वर्गों के साथ अपने अधिकार के बाहर तुरंत ऑब्जेक्ट्स से बनाते हैं जो अपने अधिकार में उत्परिवर्तनीय हो सकते हैं।उत्परिवर्तन और वसंत
क्या यह है कि ब्लोच के विचार वसंत के लिए बहुत उपन्यास हैं? क्या स्प्रिंग मॉडल बस्टेड है? क्या अपरिवर्तनीयता पर ब्लोच का रुख केवल लाइब्रेरी कोड लिखने पर लागू होता है? स्प्रिंग कोड लिखते समय मुझे लचीली वस्तुओं को बहुत सारे गेटर्स और सेटर्स के साथ लिखना चाहिए या कन्स्ट्रक्टर में सबकुछ लोड करना चाहिए?
ब्लॉच यह नहीं कहता कि "चीजों को म्यूटेबल कभी नहीं बनाते" वह कहता है, "उन्हें आवश्यकतानुसार और अधिक परिवर्तनीय न बनाएं"। यदि आपके ढांचे में निश्चित रूप से उत्परिवर्तन का स्तर आवश्यक है, तो यही वह है जिसके साथ आपको रहना है। – skaffman
उत्परिवर्तन, टेलीस्कोपिंग कन्स्ट्रक्टर, और बिल्डर पैटर्न के बारे में आइटम में अच्छी तरह से वह जवाबीन मानक (इसे पुराने रूप में संदर्भित करता है) को ट्रैश करता है, लेकिन यह मानक स्प्रिंग का आधार है जिसका मतलब वसंत पुराना है? – nsfyn55
वसंत javabeans मानक पर कोई निर्भरता नहीं है। – Bozho