मैं डिजाइन पैटर्न सीख रहा हूं। आज मैं प्रोटोटाइप डीपी पढ़ रहा हूं और पाया कि इसका उपयोग किसी ऑब्जेक्ट को क्लोन करने के लिए किया जाता है। चूंकि हमारे पास आईसीएलनेबल इंटरफ़ेस नेट में है, तो क्या हमें अभी भी प्रोटोटाइप डीपी की आवश्यकता है? या ICloneable
प्रोटोटाइप डीपी लागू करता है? दोनों के बीच चयन करने के लिए कोई दिशानिर्देश?प्रोटोटाइप डिजाइन पैटर्न बनाम आईसीएलनेबल
उत्तर
ICloneable
जैसे इंटरफ़ेस को लागू करने से इसका मतलब यह नहीं है कि आप एक पैटर्न का पालन कर रहे हैं, सभी उस उद्देश्य पर निर्भर करते हैं जिसे आप प्राप्त करने का प्रयास कर रहे हैं। यदि आप करेंगे तो यह कुछ हद तक दार्शनिक है, लेकिन मैं बस इस पर दबाव डालना सुनिश्चित करना चाहता हूं। पैटर्न में बल और इरादे होते हैं, और परिभाषा के अनुसार एक आम समस्या के लिए एक सामान्य समाधान है।
इस विशिष्ट उदाहरण में, हाँ, को लागू करने सही ढंग से इंटरफ़ेस पैटर्न की मंशा है, वास्तव में विकिपीडिया लेख अपनी exameple जावा में लिखा के लिए ICloneable
इंटरफ़ेस का उपयोग करता है कि आप का नेतृत्व कर सकते हैं: http://en.wikipedia.org/wiki/Prototype_pattern। बेशक आप अपने दूसरे इंटरफ़ेस का उपयोग करके एक और दृष्टिकोण का उपयोग कर सकते हैं, ICloneable
इंटरफ़ेस का उपयोग करने के लिए पैटर्न की आवश्यकता नहीं है।
आशा इस मदद करता है और पैटर्न की दुनिया में आपका स्वागत है :)
>> बहुत बहुत धन्यवाद। – kevin
डिजाइन पैटर्न कुछ है कि एक भाषा में निहित हैं नहीं हैं, लेकिन वे एक सामान्य समस्या के लिए एक आम समाधान कर रहे हैं। वे एक अवधारणा हैं और कई अलग-अलग तरीकों और कई अलग-अलग भाषाओं में लागू किए जा सकते हैं।
यह वास्तव में सच नहीं है। भाषा में लापता कार्यक्षमता के लिए डिजाइन पैटर्न 'क्रश' हैं। तो एक अच्छी प्रोग्रामिंग भाषा के साथ आप कुछ या अधिकांश पैटर्न का उत्तराधिकारी होंगे। Https://en.wikipedia.org/wiki/Software_design_pattern#Criticism देखें –
आईसीएलनेबल इंटरफेस को लागू न करें: http://blogs.msdn.com/b/brada/archive/2004/05/03/125427.aspx –