Table of Contents
डिजाइन पैटर्न आम प्रोग्रामिंग समस्याओं के समाधान साबित कर रहे हैं। C++ में, वे कोड संगठन, पुन: प्रयोज्यता और रखरखाव में सुधार करने में मदद करते हैं। यह लेख लोकप्रिय डिजाइन पैटर्न के व्यावहारिक उदाहरणों की पड़ताल करता है और उन्हें वास्तविक दुनिया की समस्याओं को हल करने के लिए कैसे लागू किया जा सकता है।
सिंगलटन पैटर्न
सिंगलटन पैटर्न यह सुनिश्चित करता है कि एक वर्ग का केवल एक उदाहरण है और इसमें वैश्विक दृष्टिकोण प्रदान करता है। यह साझा संसाधनों जैसे विन्यास सेटिंग्स या लॉगिंग सिस्टम के प्रबंधन के लिए उपयोगी है।
उदाहरण कार्यान्वयन:
Code:
``cpp class Logger { private: स्थैतिक Logger* उदाहरण; Logger() {} public: स्थैतिक Logger* getInstance() { if (!instance) { उदाहरण = new Logger(); } वापसी उदाहरण; } void log(const std:string& संदेश) { // Log संदेश } } पॉर्न गाड़हार* Logger:::instance = nullptr; `````````````````
फैक्टरी विधि पैटर्न
फैक्टरी विधि पैटर्न ऑब्जेक्ट बनाने के लिए एक इंटरफेस को परिभाषित करता है लेकिन उपवर्गों को उन वस्तुओं के प्रकार को बदलने की अनुमति देता है जो बनाए जाएंगे। यह ढीले युग्मन और स्केलेबिलिटी को बढ़ावा देता है।
उदाहरण परिदृश्य: विभिन्न प्रकार के दस्तावेज़ों का निर्माण।
Code:
A scent of the scent of the scent of the scent of the speak.
पर्यवेक्षक पैटर्न
पर्यवेक्षक पैटर्न वस्तुओं के बीच एक-से-प्रबंधक निर्भरता स्थापित करता है ताकि जब एक वस्तु राज्य में बदल जाती है, तो उसके सभी निर्भर स्वचालित रूप से अधिसूचित होते हैं। यह घटना हैंडलिंग सिस्टम को लागू करने के लिए उपयोगी है।
उदाहरण: एक साधारण घटना प्रणाली जहां एकाधिक पर्यवेक्षकों को एक परिवर्तन का जवाब देते हैं।
Code:
``cpp #include #include # class पर्यवेक्षक { सार्वजनिक: आभासी शून्य अद्यतन () = 0; आभासी ~ पर्यवेक्षक ( {} वर्ग विषय { निजी: std:: Vector पर्यवेक्षक; सार्वजनिक: void संलग्न (Observer* पर्यवेक्षक) { पर्यवेक्षकों.push back(observer); } void notify (ऑटो * पर्यवेक्षक : पर्यवेक्षक) { पर्यवेक्षक->update();