मैं पिछले 8 वर्षों से सी # और जावा के बीच आगे और आगे जा रहा हूं।क्या आप प्रोग्रामिंग भाषाओं में क्लोज़र/पैटर्न/फ़ंक्शन पॉइंटर्स के साथ टेम्पलेट विधि पैटर्न का उपयोग करते हैं?
एक चीज जो मुझे मारती है वह यह है कि मैंने सी # में "टेम्पलेट विधि" डिज़ाइन पैटर्न का उपयोग करके पूरी तरह से बंद कर दिया है। दरअसल, सी # में मैं इस पैटर्न को एक विरोधी पैटर्न के रूप में सोचने आया हूं।
http://en.wikipedia.org/wiki/Template_method_pattern
जावा के लिए वापस आ रहा है, मुझे लगता है पैटर्न जीवित और लात है। मुझे अभी भी लगता है कि यह प्राचीन दिखता है, लेकिन महसूस करें कि जावा में ऐसा करने का कोई और तरीका नहीं है। जावा भी एंटीक दिखता है;)
चूंकि यह किसी भी तरह से आने वाला है, यह एक एंटीपाटर क्यों है?
- कई बार "गलत कारणों" के लिए यह आपके विरासत पदानुक्रम का उपयोग करता है।
- बेस क्लास में असंबद्ध कोड के सभी प्रकार के साथ बिखरे जाने की प्रवृत्ति है।
- यह आपको डिज़ाइन को लॉक करने के लिए मजबूर करता है, अक्सर विकास प्रक्रिया में काफी जल्दी। (कई मामलों में समय से पहले लॉक)
- बाद में इसे बदलना मुश्किल और कठिन हो जाता है।
तो बंद/प्रतिनिधि/फ़ंक्शन पॉइंटर्स के साथ, आप आमतौर पर सबक्लासिंग के बजाय कुछ फ़ंक्शन पास करते हैं।
तो सवाल करने के लिए वापस:
अपनी भाषा बंदी/प्रतिनिधियों/समारोह, का उपयोग करते हैं टेम्पलेट विधि है, और जब है?
यह आपके उत्तर को पढ़ने में दिलचस्प है। क्या आप एक उदाहरण दे सकते हैं कि टेम्पलेट विधि पैटर्न 'बिल्कुल' सर्वोत्तम है, खासकर जहां युग्मन अच्छा है ?? बस माना जाता है कि युग्मन हमेशा खराब होता है! – rpattabi
@ragu: बिंदु यह नहीं है कि युग्मन अच्छा या बुरा है या नहीं। मुद्दा यह है कि यह आवश्यक या अनावश्यक है या नहीं। यदि यह आवश्यक है तो IMHO इसे व्यक्त करने का सबसे आसान तरीका टेम्पलेट विधि है। – dsimcha
मैं समझता हूं कि आप हाथ में सवाल का जवाब देने के लिए इंगित करते हैं। मेरा सवाल सामान्य है। मेरे लिए टेम्पलेट पैटर्न में युग्मन एक बुरा दुष्प्रभाव है। युग्मन के किसी भी उदाहरण अच्छे होने के नाते? – rpattabi