2012-03-27 14 views
9

मुझे node.js. में मॉड्यूल लिखते समय वास्तव में अच्छा और बुरा अभ्यास माना जाता है। कुछ मॉड्यूल, निर्यात का एक बहुत उपयोग करने के लिए लग रहे हैं, जबकि अन्य उपयोग सिर्फ एक, आदिnode.js मॉड्यूल लिखते समय अच्छा अभ्यास क्या है

उदाहरण:

var self; 
var mymodule = function() { 
    self = this; 
    this.value1 = something; 
    this.value2 = somethingElse; 
}; 
module.exports.init = function() { 
    return new mymodule(); 
}; 

mymodule.prototype.functionalityType1 = { 
    someFunction: function(callback) { 
     var a = self.value1; 
     anotherfunction(a, callback); 
    }, 
}; 
mymodule.prototype.functionalityType2 = { 
    someFunction: function(callback) { 
     var a = self.value2; 
     anotherfunction(a, callback); 
    }, 
}; 

var anotherfunction = function(v, callback) { 
    // do stuff with v 
    callback(result); 
}; 

प्रोटोटाइप से प्रत्येक एक से अधिक कार्य स्पष्ट रूप से होते हैं।

क्या ऐसा कुछ अच्छा अभ्यास माना जाएगा?

उत्तर

15

यह वास्तव में इस बात पर निर्भर करता है कि आप किस प्रकार के मॉड्यूल लिख रहे हैं। कई फ़ंक्शंस निर्यात करना उपयोगिता मॉड्यूल के लिए अच्छी तरह से काम करता है जिसमें कई विधियां हैं लेकिन प्रबंधन के लिए कोई आंतरिक स्थिति नहीं है। fs (फ़ाइल सिस्टम) मॉड्यूल की तरह कुछ सोचें। कई फाइल सिस्टम विधियां हैं, लेकिन वे सभी अकेले खड़े हैं और कोई साझा स्थिति नहीं है।

यदि आप राज्य पर संचालित कई विधियों के साथ एक राज्यव्यापी मॉड्यूल बना रहे हैं तो आपको शायद एक कन्स्ट्रक्टर निर्यात करना चाहिए और क्लाइंट को उस ऑब्जेक्ट का उदाहरण बनाने की अनुमति देनी चाहिए जिसे वे प्रबंधित कर सकते हैं। इसका एक उदाहरण http मॉड्यूल है जो आपको सर्वर बनाने की अनुमति देता है, और उस सर्वर में विधियां हैं जो इसकी आंतरिक स्थिति को प्रभावित करती हैं।

यदि आपको मॉड्यूल से किसी ऑब्जेक्ट के एक से अधिक उदाहरण होने की आवश्यकता है तो आपके पास वास्तव में कोई विकल्प नहीं है जो ऑब्जेक्ट का उदाहरण देता है।

यह .NET जैसे ढांचे से अलग नहीं है, जहां आपके पास फ़ाइल सिस्टम (सिस्टम.आईओ) कक्षाएं हैं जिनके पास स्टैंडअलोन ऑपरेशंस के लिए स्थैतिक विधियां हैं जैसे निर्देशिका की पुष्टि करना, या फ़ाइल की सामग्री पढ़ना और फिर उनके पास उदाहरण है राज्यों को बनाए रखने वाले वर्गों के लिए कक्षाएं।

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