उन ऑब्जेक्ट्स से निपटने के लिए जिन्हें केवल रनटाइम पर ज्ञात डेटा की आवश्यकता होती है, जैसे कि उपयोगकर्ता नाम और पासवर्ड, जहां तत्काल ऑब्जेक्ट होना चाहिए: नए, कारखाने में या डी कंटेनर में उपयोग करके?डी कंटेनर, कारखाना, या क्षणिक वस्तुओं के लिए नया?
उदाहरण के लिए, मैं कर सकता है सिर्फ new
एक वस्तु एक बार मैं डेटा है:
UserCredentials creds =
new UserCredentials(dialog.getUsername(), dialog.getPassword());
या, मैं एक कारखाने इस्तेमाल कर सकते हैं:
UserCredentials creds =
CredentialsFactory.create(dialog.getUsername(), dialog.getPassword());
या, मैं एक के भीतर एक प्रदाता इस्तेमाल कर सकते हैं डी कंटेनर (जो इस मामले में अनिवार्य रूप से एक पैरामीटर संचालित कारखाना होगा)। [नमूना कोड छोड़े गए।]
यह बहुत आसान कुछ के लिए डि कंटेनर का उपयोग करने के लिए दोनों गलत लगता है अभी तक यह भी गलत नहीं लगता है इसकी पूर्णता के साथ इसका इस्तेमाल करने की।
मैंने सैद्धांतिक कारखाने बनाम सार कारखाने के बारे में भी जागरूक नहीं सोचा था। उस संबंध में मूल्य-योजक टिप्पणी के लिए धन्यवाद। –