वसंत ढांचे में कौन से डिजाइन पैटर्न का उपयोग किया जाता है?स्प्रिंग ढांचे में किस डिजाइन पैटर्न का उपयोग किया जाता है?
उत्तर
इस्तेमाल किया विभिन्न डिजाइन पैटर्न का भार कर रहे हैं, लेकिन वहाँ कुछ स्पष्ट हैं:
सिंगलटन - वसंत कॉन्फ़िगरेशन फ़ाइलों में परिभाषित बीन्स डिफ़ॉल्ट रूप से सिंगलेट हैं।
टेम्पलेट विधि - बॉयलरप्लेट दोहराए गए कोड से निपटने के लिए बड़े पैमाने पर उपयोग किया जाता है (जैसे कनेक्शन बंद करना, आदि ..)। उदाहरण के लिए JdbcTemplate, JmsTemplate, JpaTemplate।
अद्यतन टिप्पणियां निम्नलिखित: MVC के लिए, आप MVC में MVC Reference
प्रयोग में कुछ स्पष्ट पैटर्न भी पढ़ सकते हैं:
Model View Controller :-)। स्प्रिंग एमवीसी के साथ लाभ यह है कि आपके नियंत्रक POJO हैं जो servlets होने के विरोध में हैं। यह नियंत्रकों के आसान परीक्षण के लिए बनाता है। ध्यान देने योग्य एक बात यह है कि नियंत्रक को केवल तार्किक दृश्य नाम वापस करने की आवश्यकता होती है, और दृश्य चयन अलग ViewResolver पर छोड़ दिया जाता है। यह विभिन्न दृश्य प्रौद्योगिकियों के लिए नियंत्रकों का पुन: उपयोग करना आसान बनाता है।
Front Controller। वसंत DispatcherServlet प्रदान करता है यह सुनिश्चित करने के लिए कि आपके आने वाले अनुरोध आपके नियंत्रकों को भेजे जाते हैं।
View Helper - दृश्य में प्रस्तुति से कोड को अलग करने में सहायता के लिए वसंत में कई कस्टम जेएसपी टैग और वेग मैक्रोज़ हैं।
धन्यवाद, स्प्रिंग एमवीसी मॉड्यूल में उपयोग किए जाने वाले डिज़ाइन पैटर्न क्या हैं? – Tony
मुझे नहीं लगता कि वसंत बीन्स के लिए सिंगलटन लागू करता है। ध्यान दें कि एक सिंगलटन स्कोप्ड बीन में प्रति उदाहरण संदर्भ ** एक उदाहरण होगा **। इसलिए, यदि आपके एप्लिकेशन में दो वसंत संदर्भ हैं, तो वे एक ही सिंगलटन बीन 'फू' लोड करते हैं और आप प्रति संदर्भ 'Foo'' का उदाहरण पुनर्प्राप्त करते हैं, तो आपको दो अलग-अलग ऑब्जेक्ट संदर्भ मिलेंगे। इसके बजाए, यहां लागू डिजाइन पैटर्न [फ्लाईवेट] है (http://en.wikipedia.org/wiki/Flyweight_pattern) –
@ लुइगी मेंडोज़ा का मतलब है कि वसंत में सिंगलटन ऑब्जेक्ट्स नहीं हैं? कृपया मुझे कुछ स्पष्टीकरण के साथ समझाएं। –
और हां निर्भरता इंजेक्शन की, या आईओसी (नियंत्रण के उलट), जो पूरी BeanFactory/ApplicationContext सामान के लिए महत्वपूर्ण है।
वसंत सर्वश्रेष्ठ अभ्यास एपीआई पैटर्न का संग्रह है, आप अपनी बांह तक उनकी खरीदारी सूची लिख सकते हैं। जिस तरह से एपीआई डिज़ाइन किया गया है, इन पैटर्नों का पालन करने के लिए आपको प्रोत्साहित करता है (लेकिन आपको मजबूर नहीं करता), और आधे समय जब आप जानते हैं कि आप ऐसा कर रहे हैं।
डीआई चीज वास्तव में किसी प्रकार का रणनीति पैटर्न है। जब भी आप कुछ तर्क/क्रियान्वयन एक्सचेंज योग्य बनना चाहते हैं तो आप आमतौर पर उस इंटरफ़ेस के अपने कस्टम कार्यान्वयन को तारित करने के लिए होस्ट क्लास पर एक इंटरफ़ेस और उपयुक्त सेटटर विधि ढूंढते हैं।
बीनफ़ैक्टरी और एप्लिकेशन संदर्भ के माध्यम से बीन्स लोड करने के लिए फैक्टरी पैटर्न का भी उपयोग किया जाता है।
फैक्टरी विधि पाटर: ऑब्जेक्ट सिंगलटन का उदाहरण बनाने के लिए बीनफ़ैक्टरी: उदाहरण के लिए संदर्भ प्रोटोटाइप के लिए सिंगलटन हो सकता है: उदाहरण प्रकार प्रोटोटाइप हो सकता है। बिल्डर पैटर्न: आप एक कक्षा में एक विधि भी परिभाषित कर सकते हैं जो जटिल उदाहरण बनाने के लिए जिम्मेदार होगा।
ऑब्जर्वर-नमूदार: यह ApplicationContext की घटना तंत्र में प्रयोग किया जाता है
स्प्रिंग कंटेनर सेम गुंजाइश (सिंगलटन, प्रोटोटाइप आदि ..) के आधार पर सेम वस्तुओं उत्पन्न करता है। तो यह Abstract Factory pattern लागू करने जैसा दिखता है। वसंत के आंतरिक कार्यान्वयन में, मुझे यकीन है कि प्रत्येक क्षेत्र को विशिष्ट फैक्ट्री प्रकार के वर्ग से बंधना चाहिए।
सेवा लोकेटर पैटर्न - ServiceLocatorFactoryBean संदर्भ में सभी सेम की जानकारी रखता है। जब ग्राहक कोड नाम का उपयोग कर एक सेवा (बीन) मांगता है, तो यह संदर्भ में उस बीन को बस ढूंढता है और इसे वापस करता है। क्लाइंट कोड को बीन का पता लगाने के लिए वसंत से संबंधित कोड लिखने की आवश्यकता नहीं है।
- 1. इस प्रश्न में मैं किस डिजाइन पैटर्न का उपयोग करूंगा?
- 2. आप किस डिजाइन पैटर्न का चयन करेंगे?
- 3. सीएसएस ढांचे का उपयोग कैसे किया जाता है?
- 4. 'IServiceProvider` का उपयोग किस ढांचे का उपयोग करता है?
- 5. किस वर्ग लोडर का उपयोग किया जाता है?
- 6. .NET: ऑब्जेक्ट हेडर का उपयोग किस लिए किया जाता है?
- 7. किस उद्देश्य के लिए Django का उपयोग किया जाता है?
- 8. जीआईटी और एसएसएच, किस कुंजी का उपयोग किया जाता है?
- 9. Google Analytics '__utm.gif का उपयोग किस लिए किया जाता है?
- 10. जावास्क्रिप्ट पैकेज कीवर्ड का उपयोग किस लिए किया जाता है?
- 11. इटरबल इंटरफ़ेस का उपयोग किस लिए किया जाता है?
- 12. जावास्क्रिप्ट में इस डिजाइन पैटर्न को क्या जाना जाता है?
- 13. स्प्रिंग ढांचे
- 14. ^रूबी में किस लिए प्रयोग किया जाता है?
- 15. क्यों ओजीआई का उपयोग किया जाता है?
- 16. लेआउट का उपयोग कैसे किया जाता है?
- 17. जेबॉस सीम डिजाइन पैटर्न?
- 18. SOAP - नेमस्पेस, इसका उपयोग किस लिए किया जाता है?
- 19. रेल में डिजाइन पैटर्न
- 20. कमांड डिजाइन पैटर्न का उपयोग करने के बारे में सोच
- 21. आयात/निर्यात के लिए मुझे किस डिजाइन पैटर्न का उपयोग करना चाहिए?
- 22. स्प्रिंग ढांचे को "गैर-घुसपैठ" क्यों कहा जाता है?
- 23. डिजाइन पैटर्न
- 24. आईफोन में जीएलएसएल का किस संस्करण का उपयोग किया जाता है?
- 25. कौन सा डिजाइन पैटर्न कम किया गया है?
- 26. .NET 2.0 प्रबंधित विधानसभा को .NET 4.0 एप्लिकेशन से लिंक करते समय, किस ढांचे का उपयोग किया जाता है?
- 27. पायथन वेब ढांचे बनाम जावा वेब ढांचे (पाइथन में वेब विकास कैसे किया जाता है?)
- 28. डिजाइन पैटर्न
- 29. स्प्रिंग डी अनुप्रयोगकॉन्टेक्स्ट.एक्सएमएल एक्सएसआई वास्तव में कैसे है: स्कीमालोकेशन का उपयोग किया जाता है?
- 30. भूत डिजाइन पैटर्न क्या है?
इसमें 10 से अधिक पैटर्न शामिल हैं ..एमवीसी, फ्रंट कंट्रोलर, देखें हेल्पर, सिंगलटन, प्रोटोटाइप, फैक्ट्री इत्यादि। http://www.javabench.in/2012/02/design-patterns-being-used-in-spring.html –
डिजाइन पैटर्न- एमवीसी पैटर्न, प्रॉक्सी पैटर्न, फैक्टरी पैटर्न, सिंगलटन पैटर्न, टेम्पलेट विधि पैटर्न, फ्रंटकंट्रोलर पैटर्न, देखें हेल्पर पैटर्न, प्रोटोटाइप पैटर्न आईडी/आईओसी पैटर्न। संदर्भ-http: //javainuse.com/spring/spring-design-patterns – Gordan