1. इटरेटर पैटर्न क्या है
इटरेटर पैटर्न एक व्यावहारिक डिज़ाइन पैटर्न है जो संग्रह ऑब्जेक्ट के तत्वों को चौमूल्य करने के लिए एक समान विधि प्रदान करता है बिना संग्रह ऑब्जेक्ट के आंतरिक प्रतिनिधित्व को प्रकट करना।
2. इटरेटर पैटर्न की विशेषताएँ और फायदे
इटरेटर पैटर्न की विशेषताएँ और फायदे निम्नलिखित हैं:
- यह संग्रह ऑब्जेक्ट की आंतरिक संरचना को छिपा सकता है, चलन की अल्गोरिदम को संग्रह ऑब्जेक्ट से अलग करता है।
- यह विभिन्न प्रकार के संग्रह ऑब्जेक्ट को चौमूल्य करने के लिए एक मानक विधि प्रदान करता है।
- यह क्लाइंट कोड को सरल और संक्षिप्त बना सकता है।
- इसमें चलन की विभिन्न व्यवस्थाओं को संग्रहीत करने के लिए विभिन्न अंमलन उपलब्ध करा सकता है।
3. इटरेटर पैटर्न के व्यावसायिक अनुप्रयोग के उदाहरण
इटरेटर पैटर्न का कई व्यावसायिक अनुप्रयोग हैं, जैसे:
- डेटाबेस क्वेरी परिणाम सेट का चलन।
- फाइल सिस्टम में फ़ाइल और फ़ोल्डर का चलन।
- संग्रह में तत्वों का चलन।
4. जीओलैंग में इटरेटर पैटर्न का कार्यान्वयन
4.1 UML कक्षा डायाग्राम
4.2 उदाहरण परिचय
उपरोक्त UML कक्षा डायाग्राम में, हमारे पास दो मुख्य भूमिकाएँ हैं: इटरेटर और संग्रह।
- इटरेटर एक संग्रह ऑब्ज
4.4 कार्यान्वयन चरण विस्तार: जेनरेटर फ़ंक्शन का उपयोग करके इटरेटर का सरलीकरण
Golang में, हम जेनरेटर फ़ंक्शन (yield
) का उपयोग करके इटरेटर का अनुमानन सरल कर सकते हैं। यहां जेनरेटर फ़ंक्शन का उपयोग के एक उदाहरण है:
func GenerateItems() <-chan interface{} {
items := []interface{}{"Golang", "Python", "Java"}
out := make(chan interface{})
go func() {
defer close(out)
for _, item := range items {
out <- item
}
}()
return out
}
func main() {
for item := range GenerateItems() {
fmt.Println(item)
}
}
उपरोक्त कोड में, हमने GenerateItems()
फ़ंक्शन को परिभाषित किया है जो एक केवल-पठनीय चैनल (<-chan
) लौटाता है, और इस फ़ंक्शन के भीतर चैनल को क्रमश: प्रकारिक रूप से तत्वों को भेजने के लिए yield
का उपयोग करता है। main()
फ़ंक्शन में, हम range
का उपयोग करके इस केवल-पठनीय चैनल पर चरण करते हैं और तत्व मानों को प्रकट करते हैं।
इस तरह, हमने जेनरेटर फ़ंक्शन का उपयोग करके इटरेटर का सरलीकरण कर दिया है।