2016-09-25 7 views
19

मेरे ज्ञान के लिए, डैगर कोड उत्पन्न करता है, जबकि गुइस और स्प्रिंग रनटाइम प्रोसेसिंग पर भरोसा करते हैं, इस प्रकार डैगर तेजी से काम करता है, लेकिन प्रोग्रामर पक्ष पर अधिक काम की आवश्यकता होती है। प्रदर्शन किनारे के कारण यह मोबाइल (एंड्रॉइड) विकास के लिए अच्छा है।जब आपके पास स्प्रिंग और डैगर होता है तो गुइस का उपयोग/विकास क्यों करें?

हालांकि, जब हमें गुइस और स्प्रिंग के साथ छोड़ दिया जाता है, तो बाद में बहुत सारे एकीकरण होते हैं। गुइस के विकास/उपयोग का क्या मतलब है, अगर हम स्प्रिंग फ्रेमवर्क का उपयोग कर सकते हैं (जो मूल रूप से एक ही चीज करता है, लेकिन पूर्व में आसान डेटाबेस पहुंच प्रदान करता है)?

क्या Google स्प्रिंग फ्रेमवर्क (और संभावित रूप से योगदान करने) के बजाय अपना स्वयं का डी उपकरण बनाकर पहिया को फिर से शुरू करने की कोशिश नहीं कर रहा है?

मैं निर्णय वृक्ष, कि डि उपकरण चुनने के माध्यम से गाइड के लिए देख रहा हूँ।

+1

SO सॉफ़्टवेयर उत्पादों की सिफारिश/तुलना करने के बारे में नहीं है। मुझे लगता है कि आपका सवाल इस प्रकार वास्तव में ऑफटॉप है। – GhostCat

+0

वसंत एक बड़ा, विशाल, विशाल संग्रह पुस्तकालयों और उपयोगिता है। डी ढांचा इसका केवल एक छोटा सा हिस्सा है। गुइस हल्का वजन और केवल एक डी ढांचा है। इसके अलावा, जीडब्ल्यूटी (उदाहरण के लिए) वसंत का उपयोग नहीं कर सकता क्योंकि यह जावास्क्रिप्ट में संकलित है। कोई पूछ सकता है कि क्यों वसंत अस्तित्व में है क्योंकि यह [सीडीआई] (https://docs.oracle.com/javaee/6/tutorial/doc/giwhl.html) को पुनर्निर्मित कर रहा है। –

+2

@GostCat ठीक है, तो मुझे इसके बारे में कहां से पूछना चाहिए? – spam

उत्तर

65

यह वर्ग में शामिल होने के बाद एहसास है कि डैगर Guice के बाद बनाया गया था, Guice के रचनाकारों में से एक ("Crazy Bob" Lee) द्वारा महत्वपूर्ण है:

  • स्प्रिंग मूल रूप October 2002 में जारी किया गया था।
  • Google ने मूल रूप से सार्वजनिक रूप से March 2007 में गिइस जारी किया।
  • JSR-330javax.injectOctober 2009 में टिप्पणियां औपचारिक रूप से, Google (बॉब ली), वसंत और अन्य उद्योग के खिलाड़ियों से भारी इनपुट के साथ।
  • स्क्वायर मूल रूप May 2013 में डैगर 1 जारी किया सार्वजनिक रूप से।
  • Google ने मूल रूप से April 2015 में सार्वजनिक रूप से डैगर 2 जारी किया।
  • स्क्वायर के रूप में 10 दिन पहले पदावनत, September 15, 2016 पर डैगर 1 चिह्नित।

उस अर्थ में, गुइस का निरंतर क्यूरेशन लंबे समय से चलने वाले और व्यापक रूप से उपभोग वाले सॉफ्टवेयर पैकेज पर रखरखाव के रूप में "पहिया को फिर से शुरू करना" नहीं है जो डैगर के किसी भी संस्करण को पूरी तरह से पूर्ववत करता है। सूची और मतभेदों को संशोधन करने के लिए आप ऊपर है:

  • वसंत एकीकरण का एक बहुत, एक XML विन्यास भाषा, और रनटाइम/चिंतनशील बाइंडिंग के साथ एक अपेक्षाकृत-हैवीवेट रूपरेखा है। स्प्रिंग का उपयोग कर पहले से ही एप्लिकेशन बहुत कम अतिरिक्त काम के साथ वसंत की निर्भरता इंजेक्शन ढांचे का उपयोग कर सकते हैं।
  • गुइस कम समेकन, जावा इंस्टेंस कॉन्फ़िगरेशन, और रनटाइम/रिफ्लेक्टिव बाइंडिंग के साथ अपेक्षाकृत हल्के फ्रेमवर्क है। जावा बाइंडिंग के उपयोग के साथ, आप संकलन-समय प्रकार की जांच और आईडीई स्वत: पूर्ण एकीकरण प्राप्त करते हैं।
  • डैगर बहुत कम एकीकृतता, जावा इंटरफ़ेस/एनोटेशन कॉन्फ़िगरेशन, और संकलन-समय कोड-जेनरेट बाइंडिंग के साथ बहुत हल्का ढांचा है। कोड जनरेशन पहलू डैगर को समग्र रूप से बहुत ही प्रदर्शन करता है और विशेष रूप से संसाधन-सीमित और मोबाइल वातावरण में। (एंड्रॉइड के अलग-अलग वीएम विशेष रूप से धीमे बनाते हैं, इसलिए डैगर विशेष रूप से उपयोगी होता है।)
  • उपरोक्त सभी तीन फ्रेमवर्क जेएसआर-330 का समर्थन करते हैं, इसलिए एक अच्छी तरह से तैयार की गई लाइब्रेरी या एप्लिकेशन ज्यादातर डी कंटेनर के लिए अज्ञेयवादी हो सकता है।

इसके अलावा, रखरखाव/प्रतिवाद पैटर्न और किसी भी ढांचे आप उपयोग के बीच नीतियों पर नज़र रखने के लिए, लेकिन एकीकरण और प्रदर्शन आपको अपनी टीम के तकनीकी निर्णय के साथ की जरूरत के लिए इसे छोड़ दें।

+0

आपके उत्तर के लिए बहुत धन्यवाद, उसने कई चीजों पर अपनी आँखें खोली। दरअसल, इस मामले में गुइस रीइन्वेंटिंग को बुलाकर बड़ी गलती है। यदि वे सभी 3 ढांचे समान मानक लागू करते हैं, तो क्या यह पूर्व में संभव है। स्प्रिंग के बजाय डैगर लाइटवेट डी का उपयोग करें, लेकिन साथ ही, वसंत की एकीकरण (स्प्रिंग डेटा की तरह) रखें? – spam

+3

@ स्पैम ग्लेड आपको जवाब पसंद आया! मैंने स्प्रिंग डेटा में नहीं देखा है, लेकिन मुझे नहीं लगता कि आप जरूरी मान सकते हैं कि आप एक फ्रेमवर्क से दूसरे पर एकीकरण का उपयोग कर सकते हैं। भले ही वे जेएसआर-330 द्वारा परिभाषित डी को समान रूप से संभालते हैं, कुछ ढांचे में आंतरिक डेटा संरचनाएं या प्रतिबिंब/आत्मनिरीक्षण होता है जो कहीं और अनुपलब्ध होते हैं। आपको उपलब्ध कराई गई समीकरणों में स्प्रिंग बनाम डैगर के उपयोग की आवश्यकता हो सकती है। –

+4

यह एक अच्छा जवाब है - आप एक प्रश्न बना चुके हैं जो तीसरे पक्ष डी ढांचे में प्रमुख खिलाड़ियों के मूल्यवान सारांश के आधार पर राय हो सकता था। +1! –

संबंधित मुद्दे

 संबंधित मुद्दे