विरासत
मैं एक्सटीजेएस 3 पर आधारित विरासत के लिए एक संकेतन का उपयोग करता हूं, जो मुझे लगता है कि जावा में शास्त्रीय विरासत के अनुकरण के लिए काफी करीब है। यह मूल रूप से निम्नानुसार चलता है:
var Animal = Object.extend(Object, {
move : function() {alert('moving...');}
});
var Dog = Object.extend(Animal, {
bark : function() {alert('woof');}
});
var lassie = new Dog();
lassie.move();
lassie.bark();
नेमस्पेस
मैं एरिक मिरागेलिया से नामस्थान पर चिपके रहने से भी सहमत हूं, इसलिए ऊपर दिए गए कोड को विंडो ऑब्जेक्ट के बाहर अपने स्वयं के संदर्भ में चलाया जाना चाहिए, यह महत्वपूर्ण है यदि आप अपने कोड को ब्राउज़र विंडो में निष्पादित कई समवर्ती फ्रेमवर्क / लाइब्रेरी में से एक के रूप में चलाने का इरादा रखते हैं।
इसका मतलब है कि विंडो ऑब्जेक्ट का एकमात्र तरीका आपके स्वयं के नामस्थान / मॉड्यूल ऑब्जेक्ट के माध्यम से है:
window.MyModule = {};
(function() {
var Animal = window.MyModule.Animal = Object.extend(Object, {
move: function() {alert('moving...');}
});
})();
इंटरफेस
आप अपने अनुप्रयोग डिज़ाइन को बढ़ाने के लिए अधिक अग्रिम OOP निर्माण जैसे इंटरफेस का उपयोग भी कर सकते हैं। इन पंक्तियों के साथ संकेतन प्राप्त करने के लिए मेरा दृष्टिकोण इनको बढ़ाना है Function.prototype
:
var Dog = Object.extend(Animal, {
bark: function() {
alert('woof');
}
}).implement(Mammal, Carnivore);
ऊ पैटर्न
जावा अर्थ में 'पैटर्न' के रूप में, मैंने केवल सिंगलटन पैटर्न (कैशिंग के लिए बढ़िया) और इवेंट-संचालित कार्यक्षमता के लिए ऑब्जर्वर पैटर्न का उपयोग किया है , जैसे कि उपयोगकर्ता द्वारा किसी बटन पर क्लिक करने पर कुछ कार्यों को असाइन करना।
प्रेक्षक पैटर्न का उपयोग करने का एक उदाहरण होगा:
var lassie = new Animal('Lassie');
lassie.on('eat', function(food) {
this.food += food;
});
$('#feeding-button').click(function() {
var food = prompt('How many food units should we give lassie?');
lassie.trigger('eat', [food]);
alert('Lassie has already eaten ' + lassie.food + ' units');
});
और OO JS के मेरे बैग में बस कुछ ही ट्रिक्स हैं, आशा है कि वे आपके लिए उपयोगी होंगे।
मैं सलाह देता हूं कि यदि आप इस सड़क को नीचे जाने का इरादा रखते हैं, तो आप डगलस क्रॉकफर्ड्स जावास्क्रिप्ट: द गुड पार्ट्स पढ़ते हैं । इस सामान के लिए यह एक शानदार किताब है।