Factory Pattern, Singleton Pattern, Module Pattern In Hindi.
जावास्क्रिप्ट प्रोग्रामिंग में डिज़ाइन पैटर्न सॉफ़्टवेयर डिज़ाइन डेवलपमेंट में होने वाली कॉमन पॉब्लेम्स के लिए एक बेसिक री-यूज़ सिंगल मॉडुल विथ मल्टीप्ल यूज़ चॉइस एक बेस्ट रेडीमेड फ़ास्ट सॉफ्टवेयर डिज़ाइन सलूशन हैं। प्रोग्रामिंग में री-यूज़ मॉडुल कांसेप्ट को व्यापक रूप से ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग कांसेप्ट में उपयोग किया जाता है, लेकिन उनमें से कई कांसेप्ट को जावास्क्रिप्ट प्रोग्रामिंग में भी अप्लाई किया जा सकता है। यहाँ जावास्क्रिप्ट प्रोग्रामिंग रेस्पॉन्सेस में, हम मुख्य रूप से तीन डिज़ाइन पैटर्न पर मैनली फोकस करेंगे। जिसमे, फ़ैक्टरी पैटर्न, सिंगलटन पैटर्न, और मॉड्यूल पैटर्न, आदि ऑप्शन है।

Factory Pattern in JavaScript.
जावास्क्रिप्ट सॉफ्टवेयर डेवलपमेंट में फ़ैक्टरी पैटर्न एक डिज़ाइन पैटर्न मेथड या प्रोसेस है, जिसका उपयोग जावास्क्रिप्ट प्रोग्राम में क्लास ऑब्जेक्ट को क्रिएट करने में किया जाता है, जिसमे बिना क्रिएट होने वाले क्लास ऑब्जेक्ट की एक्सएक्ट क्लास को इंडीकेट कर सकते है। यहाँ फैक्ट्री पैटर्न का उपयोग जावास्क्रिप्ट में तब किया जाता है, जब जावास्क्रिप्ट में किसी ऑब्जेक्ट क्रिएशन का प्रोसेस वैरी काम्प्लेक्स होता है, या उसे प्रग्राम में यूज़ से पहले सेपरेट किया जाना हो। तो जावास्क्रिप्ट प्रोग्राम में फ़ैक्टरी पैटर्न सुपरक्लास में ऑब्जेक्ट क्रिएट करने के लिए एक इंटरफ़ेस प्रोवाइड करता है. लेकिन प्रोग्राम में जरूरी सबक्लास को क्रिएट होने वाले ऑब्जेक्ट के डाटा टाइप को मॉडिफाई करने की परमिशन प्रोवाइड करता है।
Factory pattern use case in JavaScript.
जब आपको किसी जावास्क्रिप्ट प्रोग्राम में एक ही प्रकार के कई क्लास ऑब्जेक्ट क्रिएट करने की जरूरत होती है. लेकिन ये सभी क्लास ऑब्जेक्ट अलग-अलग कॉन्फ़िगरेशन के साथ क्रिएट किए जा सकते है।
Example of Factory pattern in JavaScript.
// let create a Factory Function
function Course(type, name) {
if (type === ‘javascript’) {
return new Javascript(name);
} else if (type === ‘java’) {
return new Java(name);
}
throw new Error(‘it is Invalid course type’); // it throw and error
}
// here Base class created
function Javascript(name) {
this.type = ‘Javascript’;
this.name = name;
this.medium = ‘English’;
}
Javascript.prototype.sayMedium = function() {
console.log(this.medium);
};
// Another class created
function Java(name) {
this.type = ‘java’;
this.name = name;
this.medium = ‘Hindi’;
}
Java.prototype.sayMedium = function() {
console.log(this.medium);
};
// above class Usage
const javascript = Course(‘Javascript’, ‘Python’);
const java = Course(‘Java’, ‘Html’);
javascript.sayMedium(); // result is – english
java.sayMedium(); // result is – hindi
Explanation of Factory pattern in JavaScript.
यहाँ कोर्स एक फ़ैक्टरी फ़ंक्शन क्रिएट किया गया है, जो कोर्स का क्लास डाटा टाइप डिक्लेअर है, और दिए गए क्लास डाटा टाइप के आधार पर जावास्क्रिप्ट और जावा ऑब्जेक्ट क्रिएट करता है।
जहा जावास्क्रिप्ट और जावा क्लास के अपने स्पेशल बिहैवियर को इंडीकेट करते हैं।
Singleton pattern in JavaScript.
जावास्क्रिप्ट सॉफ्टवेयर डेवलपमेंट प्रोसेस में सिंगलटन पैटर्न एक सॉफ्टवेयर डिज़ाइन पैटर्न है, जो जावास्क्रिप्ट प्रोग्राम में डेवलप क्लास के इंस्टेंसिएशन को एक ही क्लास ऑब्जेक्ट तक लिमिटेड कर देता है। यह तय करता है कि मौजूदा क्लास प्रोग्राम में केवल एक क्लास इंस्टेंस हो और इसके लिए एक ग्लोबल एक्सेस पॉइंट प्रोवाइड किया गया हो।
Use case of Singleton pattern.
जब आप किसी जावास्क्रिप्ट प्रोग्राम में यह फिक्स करना चाहते हैं कि, मौजूदा प्रोग्राम में क्लास का केवल एक ही इंस्टेंस क्रिएट हो, जैसे कि किसी डेटाबेस कनेक्शन को मैनेज करना या एप्लिकेशन-वाइड कॉन्फ़िगरेशन को मैनेज करना आदि है।
Example of Singleton pattern.
// Singleton Class created
class Database {
constructor() {
if (Database.instance) {
return Database.instance; // it use to Return existing instance
}
this.connection = ‘Here Database connection is created’;
Database.instance = this; // it use to Store the instance
}
testConnection() {
return this.connection;
}
}
// let create database Usage
const database1 = new Database();
const database2 = new Database();
console.log(database1 === database2); // result is – true here both database refer to the same instance
console.log(database1.testConnection()); // result is -Here Database connection is created
console.log(database2.testConnection()); // result is -Here Database connection is created
Explanation of Singleton pattern.
यह डेटाबेस क्लास में यह सुनिश्चित करता है कि मौजूदा क्लास में केवल एक इंस्टेंस ही क्रिएट किया जाए। यदि जावास्क्रिप्ट क्लास प्रोग्राम में कोई इंस्टेंस पहले से मौजूद है, तो यह मौजूदा इंस्टेंस को प्रोग्राम में रिटर्न कर देता है।
जावास्क्रिप्ट प्रोग्राम क्लास इंस्टेंस को Database.instance में स्टोर कर दिया जाता है, जिसे नया क्रिएट होने से पहले चेक या एनालाइज किया जाता है।
Module pattern in JavaScript.
जावास्क्रिप्ट प्रोग्राम डेवेलपमेंट में मॉड्यूल पैटर्न एक सॉफ्टवेयर डिज़ाइन पैटर्न टूल की तरह है, जिसका उपयोग डेवलप प्रोग्राम सोर्स कोड को अलग-अलग, री-यूज़ स्माल मॉडुल या यूनिट में अरेंज करने में किया जाता है। जावास्क्रिप्ट में मॉडुल पैटर्न का उपयोग प्रोग्राम कोड की सेल्फ-कॉन्टैन स्माल प्रोग्राम मॉडुल यूनिट क्रिएट करने के लिए किया जाता है, यह जावास्क्रिप्ट में ग्लोबल नामस्पेस को डैमेज होने से रिकवर होने में हेल्प करता है, और यह सॉफ्टवेयर डेवलपमेंट में बेहतर प्रोग्राम सोर्स कोड मेन्टेन या ओर्गनइज करने में हेल्प करता है।
Use case of Module pattern.
जब आपको किसी जावास्क्रिप्ट प्रोग्राम में ऐसे प्रोग्राम मॉड्यूल क्रिएट करने की जरूरत होती है, जो उनकी स्पेशल कैपेबलिटी को मर्ज करते हैं. लेकिन ये केवल एक पब्लिक एपीआई को एक्सपोज़ करते हैं।
Example of the Module pattern.
// here new Module Pattern created
const TestModule = (function() {
let increase = 3; // here increase Private variable created
// hare Private inreament function created
function increment() {
increase++;
}
// here Public API
return {
increment: increment,
testincrease: function() {
return increase;
}
};
})();
// let multiple tesmdule Usage
TestModule.increment();
TestModule.increment();
console.log(TestModule.testincrease()); // result is – 5
Explanation of the Module pattern.
जहा जावास्क्रिप्ट प्रोग्राम में काउंटरमॉड्यूल एक इमीडियेट एक्सेक्यूट होने वाला फ़ंक्शन एक्सप्रेशन (IIFE) है. जो प्राइवेट डेटा (काउंट) और प्राइवेट फ़ंक्शन जैसे, इंक्रीमेंट के साथ एक मॉड्यूल क्रिएट करता है।
जहा पब्लिक एपीआई में इंक्रीमेंट और गेटकाउंट एक्सपोज़ है, लेकिन यहाँ काउंट और इंक्रीमेंट मॉड्यूल के बाहर से सीधे एक्सेसिबल नहीं हैं।
Summary of the Factory Pattern, Singleton Pattern, Module Pattern multiple class Patterns.
Pattern | Purpose | When to Use | Example Use Case |
Factory Pattern | It uses to Creates objects without specifying the class | When you need to creating multiple types of objects with similar type interfaces | It uses to Creating different types of class object |
Singleton Pattern | It uses to Restricts a class to a single instance class object | When you need create a single shared instance across the entire active application | It used to create Database connection or Logger service |
Module Pattern | It uses to Encapsulates code into self-contained small class modules | You only use When you want to keep your code organized and avoid polluting the global namespace | It allows Utility libraries or configuration of class objects |
Conclusion of Factory Pattern, Singleton Pattern, Module Pattern in JavaScript.
जावास्क्रिप्ट प्रोग्राम सॉफ्टवेयर डेवलपमेंट प्रोसेस में फ़ैक्टरी पैटर्न एक सेंट्रल फ़ंक्शन प्रदान करके क्लास ऑब्जेक्ट क्रिएशन प्रोसेस को इजी करता है, जिसमे स्पेसिफिक प्रोग्रामिंग जरूरतो या कंडीशंस के आधार पर नए क्लास ऑब्जेक्ट को क्रिएट कर सकते है।
जहा जावास्क्रिप्ट प्रोग्राम में सिंगलटन पैटर्न यह तय करता है कि एक क्लास में केवल एक ही इंस्टेंस क्रिएट हो और इसके लिए एक ग्लोबल एक्सेस पॉइंट प्रोवाइड करता है. जो प्रोग्राम में डेटाबेस कनेक्शन जैसे रिसोर्सेज को कण्ट्रोल और मैनेजमेंट के लिए आइडियल चॉइस होती है।
जावास्क्रिप्ट प्रोग्राम में मॉड्यूल पैटर्न ग्लोबल नामस्पेस के डैमेज से रिकवर हुए कोड को री-यूज़, मर्ज यूनिट में अरेंज करने में हेल्प करता है।