CodeGym /Java Blog /अनियमित /जावा में डिज़ाइन पैटर्न [भाग 1]
John Squirrels
स्तर 41
San Francisco

जावा में डिज़ाइन पैटर्न [भाग 1]

अनियमित ग्रुप में प्रकाशित
यह जावा में डिज़ाइन पैटर्न पर एक छोटा लेख है। कोई पैटर्न कार्यान्वयन नहीं होगा, केवल जावा में पैटर्न की एक सूची प्रत्येक के संक्षिप्त विवरण के साथ। विषय से पहले से परिचित लोगों के लिए, यह समीक्षा और सारांश के रूप में सहायक होगा। इसके विपरीत, जो लोग पहली बार पैटर्न के बारे में सीख रहे हैं, वे गहराई तक जाने से पहले विषय के प्रारंभिक अवलोकन के रूप में इससे लाभान्वित होंगे। जावा में डिज़ाइन पैटर्न [भाग 1] - 1 डिजाइन पैटर्न्सअक्सर होने वाले प्रोग्रामिंग कार्यों के लिए रेडी-टू-यूज़ समाधान हैं। यह एक वर्ग या पुस्तकालय नहीं है जिसे किसी परियोजना से जोड़ा जा सके। यह कुछ और है। प्रत्येक कार्य के लिए उपयुक्त डिज़ाइन पैटर्न प्रत्येक विशिष्ट मामले में कार्यान्वित किए जाते हैं। आपको याद रखना चाहिए कि जब गलत तरीके से या अनुपयुक्त कार्य के लिए लागू किया जाता है, तो एक डिज़ाइन पैटर्न बहुत सारी समस्याएं पैदा कर सकता है। हालाँकि, एक ठीक से लागू पैटर्न आपको कार्यों को आसानी से और सरलता से पूरा करने में मदद कर सकता है।

पैटर्न के प्रकार:

  • क्रिएशनल
  • संरचनात्मक
  • व्यवहार
रचनात्मक पैटर्न आरंभीकरण तंत्र प्रदान करते हैं, जिससे आप सुविधाजनक तरीके से ऑब्जेक्ट बना सकते हैं। संरचनात्मक पैटर्न कक्षाओं और वस्तुओं के बीच संबंधों को परिभाषित करते हैं, जिससे उन्हें एक साथ काम करने की अनुमति मिलती है। व्यवहार पैटर्न का उपयोग संस्थाओं के बीच बातचीत को आसान बनाने के लिए किया जाता है।

रचनात्मक:

  • सिंगलटन - एक वर्ग के निर्माण को एक उदाहरण तक सीमित करता है, और उस एकल उदाहरण तक पहुंच प्रदान करता है।

  • फ़ैक्टरी - तब उपयोग किया जाता है जब हमारे पास कई उपवर्गों के साथ एक सुपरक्लास होता है और हमें इनपुट के आधार पर एक उपवर्ग वापस करने की आवश्यकता होती है।

  • एब्सट्रैक्ट फैक्ट्री - फैक्ट्री बनाने के लिए एक सुपर फैक्ट्री का उपयोग करता है, जिसका उपयोग हम वस्तुओं को बनाने के लिए करते हैं।

  • बिल्डर - सरल वस्तुओं का उपयोग करके जटिल वस्तुओं को बनाने के लिए प्रयोग किया जाता है। यह धीरे-धीरे एक छोटी, साधारण वस्तु से एक बड़ी वस्तु का निर्माण करता है।

  • प्रोटोटाइप - डुप्लिकेट ऑब्जेक्ट बनाते समय प्रदर्शन को बेहतर बनाने में मदद करता है; एक नई वस्तु बनाने के बजाय, यह मौजूदा वस्तु का क्लोन बनाता है और वापस करता है।

संरचनात्मक:

  • एडेप्टर - दो असंगत वस्तुओं के बीच एक कनवर्टर। हम दो असंगत इंटरफेस को संयोजित करने के लिए एडेप्टर पैटर्न का उपयोग कर सकते हैं।

  • समग्र - वृक्ष संरचना का प्रतिनिधित्व करने के लिए एक वर्ग का उपयोग करता है।

  • प्रॉक्सी — अन्य वर्ग की कार्यक्षमता प्रदान करता है।

  • फ्लाईवेट - बड़ी संख्या में समान वस्तुओं को बनाने के बजाय वस्तुओं का पुन: उपयोग करता है।

  • Facade — क्लाइंट के लिए एक सरल इंटरफ़ेस प्रदान करता है, जो सिस्टम के साथ इंटरैक्ट करने के लिए इंटरफ़ेस का उपयोग करता है।

  • ब्रिज - इंटरफ़ेस को लागू करने वाली कक्षाओं से विशिष्ट वर्गों को स्वतंत्र बनाता है।

  • डेकोरेटर - किसी मौजूदा वस्तु की संरचना में बंधे बिना नई कार्यक्षमता जोड़ता है।

व्यवहार:

  • टेम्पलेट विधि - एक मूल एल्गोरिथ्म को परिभाषित करता है और वंशजों को इसकी समग्र संरचना को बदले बिना एल्गोरिथम के कुछ चरणों को ओवरराइड करने की अनुमति देता है।

  • मध्यस्थ - एक मध्यस्थ वर्ग प्रदान करता है जो विभिन्न वर्गों के बीच सभी संचार को संभालता है।

  • जिम्मेदारी की श्रृंखला - अनुरोध भेजने वाले और प्राप्त करने वाले के बीच सख्त निर्भरता से बचना संभव बनाता है; इसके अलावा, अनुरोध को कई वस्तुओं द्वारा संसाधित किया जा सकता है।

  • पर्यवेक्षक - एक वस्तु को अन्य वस्तुओं में होने वाली घटनाओं की निगरानी और प्रतिक्रिया करने की अनुमति देता है।

  • रणनीति - रन टाइम पर रणनीतियों (एल्गोरिदम) को बदलने की अनुमति देता है।

  • कमान - एक इंटरफ़ेस जो एक विशिष्ट क्रिया करने के लिए एक विधि घोषित करता है।

  • राज्य - किसी वस्तु को उसके राज्य के आधार पर उसके व्यवहार को बदलने की अनुमति देता है।

  • विज़िटर - संबंधित वस्तुओं के समूहों पर संचालन को आसान बनाने के लिए उपयोग किया जाता है।

  • दुभाषिया - समस्या क्षेत्र में एक सरल भाषा के लिए एक व्याकरण को परिभाषित करता है।

  • Iterator - किसी संग्रह के अंतर्निहित रूप को जाने बिना क्रमिक रूप से किसी संग्रह के तत्वों तक पहुँचता है।

  • मेमेंटो - किसी वस्तु की स्थिति को संग्रहीत करने के लिए उपयोग किया जाता है; इस राज्य को बाद में बहाल किया जा सकता है।

जैसे ही आप CodeGym कोर्स को पूरा करते हैं, आपको इस सूची में कुछ पैटर्न मिलेंगे। मैं पैटर्न के बारे में निम्नलिखित कार्यों की सिफारिश करता हूं: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... डिजाइन पैटर्न के बुद्धिमान उपयोग से अधिक विश्वसनीय कोड रखरखाव होता है, क्योंकि, इस तथ्य के अलावा कि डिजाइन पैटर्न सामान्य समस्याओं का अच्छा समाधान है , अन्य डेवलपर्स उन्हें पहचान सकते हैं, कुछ कोड के साथ काम करने के लिए आवश्यक समय कम कर सकते हैं।
टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION