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