क्या यह कार्यात्मक शैली में ऑब्जेक्ट मॉडल को लागू करने के लिए व्यावहारिक है?ऑब्जेक्ट मॉडल?
ओओपी एक समस्या है जो ऑब्जेक्ट मॉडल का वर्णन कर रही है।
उदाहरण के लिए, एक HTML डॉम एक जटिल, राज्यिक जानवर है जो यूआई और के साथ सीधे इंटरफेस करता है गतिशील भाषाओं से प्रोग्राम योग्यता की आवश्यकता होती है।
- सदस्य पहुंच की कमी अविश्वस्त कोड के साथ इंटरफ़ेस कर (जैसे जावास्क्रिप्ट) सुरक्षित
- Accessor कार्यों और गुण
- यूआई के लिए बाध्य कर अधिक सुविधाजनक: OOP सुविधाओं तरीके का एक बहुत में उपयोगी में आने की कोशिश ऑब्जेक्ट मॉडल के चारों ओर गुजरने के लिए हर समय तरीकों को बहुत आसान बनाता है।
यदि आप एमवीवीएम के माध्यम से मॉडल पेश कर रहे हैं तो कहानी का यूआई पक्ष थोड़ा सा हो सकता है, लेकिन आप अभी भी आंतरिक रूप से राज्य के साथ लगातार कुश्ती कर रहे हैं।
मैं इस परियोजना के लिए एफ # में काम कर रहा हूं, इसलिए मैं आसानी से ओओपी का सहारा ले सकता हूं, लेकिन मुझे उत्सुकता है कि यह अव्यवहारिक होने से पहले इसे कितनी दूर धक्का दे सकता है। क्या डिजाइन पैटर्न या कुछ भी हो सकता है?
ओकैमल, एफ #, सीएलओएस, क्लोजर, हास्केल, और स्कैला - साथ ही अन्य ऑब्जेक्ट उन्मुख मुहावरे Erlang जैसे अन्य भाषाओं में ...हाँ, मैं कहूंगा कि यह उनके लिए बहुत अच्छा काम करता है। ओओपी को राज्य में हेरफेर करने की ज़रूरत नहीं है, यह मुख्य रूप से (मेरे दिमाग में) संगठन और डीआरवाई के लिए है। –
मैंने इसे लेस्काह के साथ किया है, और मैंने कोड को देखा लेकिन दुर्भाग्य से यह अभी मेरे बाहर है। मुझे वास्तव में यह महसूस नहीं होता है कि आप DRY को छोड़ दिए बिना, कठिन-से-बनाए रखने वाले कोड के साथ समाप्त हो सकते हैं और/या तृतीय-पक्ष प्लगइन/स्क्रिप्ट लेखकों को पागल कर सकते हैं। –
एफओ में ओओ की तुलना में कार्यात्मक भाषाओं में डीआरवाई आसान है क्योंकि पैरामीटर लेने वाले फ़ंक्शन में किसी भी दोहराए गए कोड को दोबारा दोहराया जाना मुश्किल है। ओओ (या बल्कि प्रक्रिया प्रोग्रामिंग) में बार-बार कोड प्रीम्बल और पोस्टम्बल है जो बीच में थोड़ा सा होता है, अलग-अलग आप बेस क्लास या इंटरफेस के बारे में सोचना शुरू कर देते हैं, एफपी में आप बीच में थोड़ा सा नहीं बनते एक पैरामीटर के रूप में एक समारोह। टॉमस की पुस्तक में इस के महान उदाहरण हैं: http://www.manning.com/petricek/ – Robert