2010-01-12 13 views
5

मैं अब कुछ समय के लिए एक डेवलपर हूँ, और पिछले कुछ वर्षों के लिए मैं प्रोटोटाइप ढांचे का उपयोग कर रहा है और यह OOP के लिए कार्यान्वयन, जावास्क्रिप्ट में इस्तेमाल किया जा रहा है। मैंने jquery और कुछ अन्य ढांचे का भी उपयोग किया है।क्या प्रोटोटाइप का उपयोग करना उचित है या क्या हमें जावास्क्रिप्ट के लिए ओओपी का उपयोग करना चाहिए?

मैं पढ़ रहा हूं कि जेएस कैसे काम करता है और ओओपी से कितना अलग है, क्योंकि यह एक प्रोटोटाइप उन्मुख भाषा है। मेरी राय में वास्तव में एक महान अवधारणा है, प्रोटोटाइप उन्मुख भाषा।

करने के लिए सही ध्यान दिया गया है:
- यह था कि कैसे भाषा का प्रयोग किया जाना चाहिए था, और इसलिए इसलिए तेजी से, और अधिक उत्पादक और सैद्धांतिक रूप से, सरल और सहज है।
- हर ब्राउज़र कैसे जावास्क्रिप्ट या कम से कम बहुमत काम करने के लिए, सभी ब्राउज़रों में एक संक्षिप्त कोड काम करने के लिए कभी कभी असंभव बना माना जाता है, के लिए अपने स्वयं के कार्यान्वयन है।
- आम तौर पर उन OOP चौखटे (dojo.declare(), Js.Class, MooTools, आदि) एक अच्छा काम करने के लिए उपयुक्त की तुलना में अधिक हैं, और वे पार ब्राउज़र हैं।

मैं मदद नहीं कर सकता लेकिन आश्चर्यचकित हूं, क्या आरआईए जावास्क्रिप्ट प्रोटोटाइप उन्मुख का उपयोग करना शुरू करना उचित है? या मुझे Dojo.declare(), js.class या कुछ समान के लिए जाना चाहिए?

उत्तर

3

I don't think you must forfeit OOP when you program in JS; मैं आपको embrace OOP का सुझाव देता हूं!

  • मैं ExtJS library जो कक्षाएं प्रदान करता है, उपवर्गीकरण को प्रोत्साहित करती है, और एक अच्छी तरह से परिभाषित वर्ग पदानुक्रम का एक बहुत अच्छा उदाहरण प्रदान करता है पसंद करते हैं। (कोई सुरक्षित)
  • Douglas Crockford सदस्य डेटा और सदस्य कार्यों निजी बनाने के उदाहरण प्रदान करता है।
  • बहुत से लोग inheritence लागू करने के लिए एक वाहन के रूप जावास्क्रिप्ट के प्रोटोटाइप का उपयोग करें; फिर देखें Douglas Crockford
  • बहुरूपता आसान के रूप में जे एस दृढ़ता से टाइप नहीं कर रहा है।

इसके अलावा, कई लोकप्रिय जावास्क्रिप्ट पुस्तकालय डेवलपर से अमूर्त ब्राउज़र अंतर; ब्राउज़र में अंतरों की भरपाई करने के लिए आपको अपने कोड में कुछ "ifs" मिलेंगे, क्या आप जेएस लाइब्रेरी का उपयोग करना चुन सकते हैं।

अंत में, यहां कुछ अन्य good resources from SO हैं।

+0

यदि वे मेरे लिए बहुत डरते हैं, तो ... –

+0

मुझे गलत मत समझो, मुझे बहुत प्यारा लगता है। मैं बस कुछ राय सुनना चाहता हूँ। –

+0

जेएस के लिए कोई प्रोटोटाइप उन्मुख ढांचे हैं? जवाब के लिए धन्यवाद। –

0

मैं पिछले एक साल से आरआईए पर prototype.js का उपयोग कर रहा था। मैं उन पुस्तकालयों में उपयोग नहीं कर रहा हूं जिनके बारे में आप बात कर रहे हैं, लेकिन मैं jQuery का उपयोग करता हूं। Prototype.js का उपयोग करने के तरीके सीखने के बाद मैंने बस jQuery से परहेज किया। मैं prototype.js का कुछ भी उपयोग करने में सक्षम था, विशेष रूप से जब वास्तव में प्रोटोटाइप इस तरह के सुंदर तरीके से संभालता है। आप किसी भी अन्य पुस्तकालयों में प्रोटोटाइप द्वारा प्रदान की गई बाध्य विधि को प्रतिस्थापित नहीं कर सकते हैं। यह बहुत उपयोगी है। मैं आपको डर के बिना प्रोटोटाइप के साथ जाने का सुझाव देता हूं .. यह ठंडा और संभालना इतना आसान है।

संबंधित मुद्दे