मैं Google guice भर में आया और वास्तव में इसे समझ नहीं पाया और यह क्या किया, हालांकि इसके आसपास प्रचार का बहुत कुछ लगता है। मैं लाइब्रेरी के क्लोजुरियन परिप्रेक्ष्य को प्राप्त करने की उम्मीद कर रहा था और क्लोजर अनुप्रयोगों में इसकी आवश्यकता क्यों नहीं है और यदि भाषा में ऐसा कुछ भी बनाया गया था।Google guice के समतुल्य क्लोजर क्या है?
उत्तर
जावा के ओओ और टाइप सिस्टम के कारण, गतिशील रूप से विभिन्न अंतर्निहित कार्यान्वयन के बीच स्विचिंग (उदाहरण के लिए परीक्षण (मॉकिंग) उद्देश्यों के लिए) को प्रबंधित करना मुश्किल हो सकता है। Google Guice जैसे पुस्तकालयों का उद्देश्य जावा में इन dependency injections को अधिक शानदार तरीके से संभालना है।
क्लोजर और अन्य कार्यात्मक भाषाओं के कार्यों को पारित किया जा सकता है, जो विभिन्न कार्यान्वयनों का उपयोग करना आसान बनाता है।
- उच्च आदेश कार्यों में पैरामीटर के रूप में समारोह के लिए अपनी पसंद का उपयोग करना:
ऐसे कई तरीके हैं इस Clojure में किया जा सकता है।
- (पुन) फ़ंक्शन की अपनी पसंद को एक var में बाध्यकारी।
- बंद करने के अंदर फ़ंक्शन की अपनी पसंद को समाहित करना जिसे बाद में पारित किया जा सकता है और बुलाया जा सकता है।
Clojure Programming के अध्याय 12 में ओओ पैटर्न के कुछ अच्छे उदाहरण हैं जैसे निर्भरता इंजेक्शन और क्लोजर में इन्हें संभालने के वैकल्पिक तरीकों।
शॉन डेवेलिन में क्लोजर में निर्भरता इंजेक्शन पर Full Disclojure video भी है। हालांकि, उनका उदाहरण बेहतर चुना गया हो सकता है। अपने बंद होने में पूरी तरह से अलग कार्य कार्यान्वयन का उपयोग करने के बजाय, वह एक कारखाने का उपयोग करता है जो एक समारोह के विभिन्न 'संस्करण' देता है। गिस्ट वही रहता है हालांकि।
असल में, निर्भरता इंजेक्शन एक पैटर्न है जो ओओपी में एक आवश्यक बुराई है, और एफपी में आसानी से हल किया जा सकता है (या कोई समस्या भी नहीं है)।
किसी न किसी क्लोजर समकक्ष अभी भी विकास में हैं। वर्तमान में विकास में दो पुस्तकालय हैं (अक्टूबर 12 के रूप में): प्रिज्मेटिक के Graph (अभी तक खुले सोर्स नहीं किए गए) और Flow स्टुअर्ट सिएरा द्वारा।
ध्यान दें कि मैं गुइस को निर्भरता इंजेक्शन से अधिक होने पर विचार करता हूं। यह अनुप्रयोग विन्यास/मॉड्यूलरलाइजेशन के लिए एक ढांचा प्रदान करता है। उपर्युक्त पुस्तकालयों का लक्ष्य उस लक्ष्य को पूरा करना है।
- 1. क्या Google Guice सक्रिय है?
- 2. Google Guice
- 3. Google Guice
- 4. Google Guice
- 5. Google Guice 3 में नया क्या है?
- 6. एचटीएमएल के लिए "Google क्लोजर कंपाइलर" के समतुल्य?
- 7. Google Guice Servlet
- 8. Google guice क्या maven2 भंडार में पाया जा सकता है?
- 9. क्या Google Guice सिर्फ एक और फैक्टरी नहीं है?
- 10. जीडब्ल्यूटी वीएस Google क्लोजर, क्या अंतर है?
- 11. Google क्लोजर
- 12. Guice इंजेक्षन फील्ड Guice
- 13. Guice
- 14. Guice
- 15. Guice
- 16. सी 11 में समतुल्य() समतुल्य क्या है?
- 17. Google क्लोजर संपादक/WYSIWYG
- 18. Google क्लोजर मिनीफायर ऑनलाइन?
- 19. Google क्लोजर कंपाइलर
- 20. Google क्लोजर लाइब्रेरी
- 21. क्या कोई भी Google Guice उपयोगी क्यों है इसका स्पष्ट स्पष्टीकरण प्रदान कर सकता है?
- 22. Google क्लोजर तर्क स्वैप क्यों करता है?
- 23. Guice 2.0
- 24. jQuery अनुप्रयोगों के साथ Google क्लोजर कंपाइलर
- 25. क्या LINQ के लिए जावा समतुल्य है?
- 26. दोस्त के सी # समतुल्य क्या है?
- 27. सी # सर्वर.यूआरएलएनकोड के जावास्क्रिप्ट समतुल्य क्या है?
- 28. preg_match के जावास्क्रिप्ट समतुल्य क्या है?
- 29. क्या WeakHashMap के लिए java.util.concurrent समतुल्य है?
- 30. इंटरफ़ेस के लिए "hasOwnProperty()" समतुल्य क्या है?
लाइब्रेरी लिंक के लिए धन्यवाद; वे बल्कि दिलचस्प लग रहे हैं। मैं आपके मूल्यांकन से सहमत हूं कि गुइस केवल निर्भरता इंजेक्शन से परे एक समाधान प्रदान करता है, हालांकि मुझे लगता है कि क्लोजर सक्षम करने वाले कुछ पैटर्न के साथ आपको उन पुस्तकालयों की आवश्यकता नहीं है, क्योंकि अब यह आपके लिए बनाने के लिए लगभग छोटा है (उदाहरण के लिए नोएर को देखें, डिफ्रैप निर्माण कैसे काम करता है और स्वचालित नामस्थान लोडिंग को जोड़ता है और पृष्ठों के संग्रह को एक रेफरी या परमाणु द्वारा लिपटे मानचित्र में जोड़ता है)। – deterb
सहमत हुए। मुझे लगता है कि यही कारण है कि रिच हिकी "सादगी" के बारे में बात करती है और क्यों इतने सारे देव अब स्प्रिंग फ्रेमवर्क कॉन्फ़िगरेशन monstrosities के बारे में शिकायत करते हैं। किसी भी मामले में, कुछ क्लोजर अनुप्रयोगों (स्पष्ट रूप से) इस तरह के ढांचे की आवश्यकता के लिए पर्याप्त बड़े हो जाते हैं। – noahlz