में प्रयुक्त डिजाइन पैटर्न मैं एसटीएल और डिजाइन पैटर्न सीख रहा हूं। मुझे पता है कि वहाँ किसी भी दस्तावेज़ या लिंक बताते हैं कि कैसे डिजाइन पैटर्न एसटीएल में लागू कर रहे हैं चाहता था मैं गूगल लेकिन बहुत ज्यादा नहीं डेटाएसटीएल (मानक टेम्पलेट लाइब्रेरी)
उत्तर
मुझे आशा है कि आपका मतलब है, "एसटीएल में कौन से डिजाइन पैटर्न की पहचान की जा सकती है"।
एसटीएल स्टैक एक कंटेनर एडाप्टर है। एक एडाप्टर एक डिजाइन पैटर्न है। इटेटरेटर भी एक डिजाइन पैटर्न है। एसटीएल फ़ंक्शन ऑब्जेक्ट कमांड पैटर्न से संबंधित हैं।
पैटर्न:
- एडाप्टर (कंटेनर एडेप्टर)
- ढेर
- कतारों
- प्राथमिकता कतारों
- इटरेटर
- आदेश + एडाप्टर (समारोह एडेप्टर)
- इटरेटर + एडाप्टर (इटरेटर एडेप्टर)
- रिवर्स iterators
- डालने iterators
- धारा iterators
- टेम्पलेट विधि (एसटीएल एल्गोरिदम उपयोगकर्ता द्वारा निर्दिष्ट कार्यों का प्रयोग करके)
- कौन सा creational पैटर्न ? (ऑलोकेटर)
इन पैटर्नों को लागू करने के तरीके को ऑब्जेक्ट उन्मुख डिज़ाइन में लागू करने के तरीके से बहुत अलग है। जोसुटिस ने लिखा "एसटीएल अवधारणा ऑब्जेक्ट उन्मुख प्रोग्रामिंग के मूल विचार के विपरीत है"। यही कारण है कि आपके प्रश्न के आसपास भ्रम पैदा हो रहा है।
क्या आपके पास एसटीएल में एक इटरेटर एडाप्टर का उदाहरण है? – Frank
@ डेहमान: मैंने उन्हें जोड़ा। मेरे जवाब को संपादित करने के लिए स्वतंत्र महसूस करें। –
5. टेम्पलेट विधि (उपयोगकर्ता द्वारा निर्दिष्ट कार्यों का उपयोग कर एसटीएल एल्गोरिदम) –
मुझे लगता है कि तुम्हारी समस्या है कि डिजाइन पैटर्न में लागू नहीं कर रहे हैं कि प्राप्त करने में सक्षम किया एसटीएल। उन्हें सी ++ में कार्यान्वित किया जा सकता है और एसटीएल से कंटेनर और एल्गोरिदम का उपयोग किया जा सकता है लेकिन एसटीएल और डिजाइन पैटर्न किसी भी अन्य तरीके से संबंधित नहीं हैं।
मेरी सलाह Nicolai Josuttis' excellent book The C++ Standard Library: A Tutorial and Reference या STL Tutorial and Reference Guide जैसी कुछ पढ़कर एसटीएल के बारे में जानना होगा। यह सीखने में मदद करेगा कि एसटीएल आपके लिए क्या कर सकता है। फिर एसटीएल के बारे में अपने ज्ञान का उपयोग कर सी ++ में डिजाइन पैटर्न को कार्यान्वित करने में खुदाई करें।
एसटीएल और डिजाइन पैटर्न निश्चित रूप से संबंधित हैं। वे दोनों अमूर्तताओं के बारे में हैं। –
Iterators एक डिजाइन पैटर्न है। निश्चित रूप से एसटीएल में लागू किया गया। –
@ मार्टिन यॉर्क - नाम के बावजूद, मैं इस बात से सहमत नहीं हूं कि एसटीएल में इटरेटर के कार्यान्वयन इटरेटर डिजाइन पैटर्न का एक संकेतक है जो पॉइंटर्स से कहीं ज्यादा है। कैननिकल इटरेटर पैटर्न में यह निर्धारित करने के लिए एक तरीका शामिल है कि ट्रैवर्सल अंतर्निहित संग्रह पूछे बिना आइटम नहीं देगा। –
Iterator pattern एसटीएल में काफी भारी उपयोग किया जाता है।
एसटीएल टेम्पलेट्स का व्यापक उपयोग करता है। GoF इस पैरामीटरयुक्त प्रकार को कॉल करें। टेम्पलेट्स डिज़ाइन पैटर्न समाधान को अनुकूलित करने या नए, सहज समाधान के साथ आने में उपयोगी होते हैं। (अधिक जानकारी के लिए, "Design Patterns: Elements of Reusable Object-Oriented Software" में "विरासत बनाम पैरामीटरेटेड प्रकार" अनुभाग देखें)। एसटीएल (और boost) से परिचित होने का लाभ यह है कि वे सी ++ में टेम्पलेट्स (और मेटा-प्रोग्रामिंग) के बारे में जानने के लिए एक अच्छा स्रोत हैं, जो बदले में बेहतर डिज़ाइन तैयार करने में उपयोग किए जा सकते हैं।
सी ++ 11 से, हम smart pointer, यानी, shared_ptr, unique_ptr और weak_ptr की threes प्रकार है, उनके पीछे पैटर्न है: प्रॉक्सी पैटर्न।
- 1. मानक लाइब्रेरी
- 2. मानक लाइब्रेरी
- 3. मानक टेम्पलेट स्ट्रिंग क्लास: स्ट्रिंग.फिल()
- 4. मानक सी ++ लाइब्रेरी
- 5. मानक लाइब्रेरी टैग
- 6. सी ++ मानक लाइब्रेरी
- 7. जावा मानक लाइब्रेरी
- 8. इंटेल मानक लाइब्रेरी (सी ++)
- 9. जावा मानक लाइब्रेरी
- 10. मानक लाइब्रेरी कंटेनर जीसीसी
- 11. मानक सी ++ लाइब्रेरी
- 12. सी मानक लाइब्रेरी और सी POSIX लाइब्रेरी
- 13. एसटीएल कार्यात्मक - क्यों?
- 14. सी ++ स्ट्रिंग टेम्पलेट लाइब्रेरी
- 15. क्या मानक लाइब्रेरी (एसटीएल) कंटेनर नोट्रो आवंटन के एक रूप का समर्थन करते हैं?
- 16. एसटीएल संकलन त्रुटि जब टेम्पलेट वर्ग
- 17. टाइमरकॉलबैक फ़ंक्शन मानक टेम्पलेट लिब्ररी पर आधारित बूस्ट
- 18. एसटीएल एल्गोरिदम
- 19. सी ++ टेम्पलेट सिंटैक्स (एसटीएल लाइब्रेरी स्रोत कोड) के बारे में एक प्रश्न
- 20. सी ++ एसटीएल
- 21. जावा में ईमेल टेम्पलेट लाइब्रेरी
- 22. सी ++ हेडर-केवल टेम्पलेट लाइब्रेरी
- 23. एचटीएमएल न्यूजलेटर टेम्पलेट के लिए मानक आकार
- 24. टेम्पलेट संकलन त्रुटि - मानक या नहीं?
- 25. सी में मानक डेटा संरचना लाइब्रेरी?
- 26. सी मानक लाइब्रेरी फ़ंक्शन को कैसे बदलें?
- 27. पायथन मानक लाइब्रेरी से PYTHONPATH डिफ़ॉल्ट
- 28. सी ++ 0x मानक लाइब्रेरी संदर्भ मैनुअल
- 29. मैकपॉर्ट्स क्लैंग 3.1 गायब मानक लाइब्रेरी इंस्टॉल?
- 30. मानक लाइब्रेरी में + = वैध अस्थायी क्यों हैं?
एसटीएल जेनेरिक प्रोग्रामिंग ऑब्जेक्ट उन्मुख नहीं है। आपको पीछे हटना होगा। – KitsuneYMG
@kts: डिज़ाइन-पैटर्न ऑब्जेक्ट-ओरिएंटेड डिज़ाइन के लिए विशिष्ट नहीं हैं। –
क्या आप कुछ एसटीएल कार्यान्वयन देखते हैं। स्रोत कोड आपको बहुत सारे प्रश्नों का उत्तर दे सकता है। – Ross