एमवीसी वेब विकास ढांचे में रूबी, रेल, डीजेगो और केकपीएचपी जैसे रूबी, HTTP अनुरोध नियंत्रकों को भेजे जाते हैं, जो आमतौर पर बैकएंड डेटाबेस स्टोर पर बने होते हैं। ये वस्तुएं उपयोगकर्ता, ब्लॉग पोस्ट इत्यादि जैसी चीजों का प्रतिनिधित्व करती हैं, और अक्सर अन्य ऑब्जेक्ट्स, सत्यापन, इत्यादि के लिए अनुमतियों को लाने, लाने और/या उत्परिवर्तित करने के लिए उनके तरीकों के भीतर तर्क शामिल हैंएक रेल-प्रकार वेबपैप में 'मॉडल' कैसे कार्यात्मक प्रोग्रामिंग भाषा में लागू किया जाएगा?
ये ढांचे सभी बहुत अधिक ऑब्जेक्ट उन्मुख हैं। मैं हाल ही में कार्यात्मक प्रोग्रामिंग पर पढ़ रहा हूं और ऐसा लगता है कि टेस्टेबिलिटी, कॉन्सिसनेस, मॉड्यूलरिटी इत्यादि जैसे जबरदस्त फायदे हैं। हालांकि, कार्यात्मक प्रोग्रामिंग के लिए मैंने देखा है कि अधिकांश उदाहरण क्विकॉर्ट या फाइबोनैची अनुक्रम जैसे छोटी कार्यक्षमता को लागू करते हैं, न कि जटिल वेबएप। मैंने कुछ 'कार्यात्मक' वेब ढांचे को देखा है, और वे सभी दृश्य और नियंत्रक को ठीक से लागू करने लगते हैं, लेकिन बड़े पैमाने पर पूरे 'मॉडल' और 'दृढ़ता' भाग को छोड़ देते हैं। (मैं कंपोज़र जैसे ढांचे के बारे में और बात कर रहा हूं जो पूरी तरह से कार्यात्मक माना जाता है, जो कि लिफ्ट के साथ आसानी से मॉडल के लिए स्काला के ओओ भाग का उपयोग करने लगता है - लेकिन अगर मैं यहां गलत हूं तो मुझे सही करें।)
मैंने एक अच्छा स्पष्टीकरण नहीं देखा है कि ओओ प्रोग्रामिंग प्रदान करने वाले रूपक को प्रदान करने के लिए कार्यात्मक प्रोग्रामिंग का उपयोग कैसे किया जा सकता है, यानी ऑब्जेक्ट्स के लिए टेबल मैप, और ऑब्जेक्ट्स में ऐसे विधियां हो सकती हैं जो शक्तिशाली, encapsulated तर्क जैसे अनुमति और सत्यापन प्रदान करती हैं। डेटा को बनाए रखने के लिए एसक्यूएल प्रश्नों का उपयोग करने की पूरी अवधारणा पूरे 'दुष्प्रभाव' अवधारणा का उल्लंघन करती है। क्या कोई व्यक्ति एक कार्यात्मक प्रोग्राम किए गए वेब ढांचे में 'मॉडल' परत लागू करने के बारे में स्पष्टीकरण प्रदान कर सकता है?
कार्यात्मक भाषाएं साइड इफेक्ट्स को सीमित करने की कोशिश करती हैं। लेकिन सीमा हमेशा कार्यक्रम की सीमाओं के भीतर है। डेटास्टोर और आईओ आवेदन की सीमाओं के बाहर रहते हैं, इसलिए वे स्वीकार्य हैं। एक बार डेटा के अंदर डेटा आ गया है, फिर उस डेटा के परिवर्तन और रूटिंग को समझने योग्य और निर्धारक होना चाहिए। –