"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > कमांड क्वेरी सेपरेशन (CQS): बेहतर सॉफ्टवेयर डिजाइन के लिए एक गाइड

कमांड क्वेरी सेपरेशन (CQS): बेहतर सॉफ्टवेयर डिजाइन के लिए एक गाइड

2025-03-23 ​​पर पोस्ट किया गया
ब्राउज़ करें:952

] बर्ट्रेंड मेयर द्वारा गढ़ा गया, सिद्धांत बताता है कि एक प्रणाली में प्रत्येक विधि को या तो एक कार्रवाई (एक कमांड) या वापस डेटा (एक क्वेरी) करना चाहिए, लेकिन दोनों कभी नहीं। यह अंतर यह सुनिश्चित करता है कि आपका कोड समझना, परीक्षण करना और बनाए रखना आसान है।

] हम API डिज़ाइन और डेटाबेस इंटरैक्शन जैसे व्यावहारिक परिदृश्यों में CQS को लागू करने के उदाहरण भी प्रदान करेंगे।

]

इसके मूल में, CQS कार्यों को दो अलग -अलग श्रेणियों में अलग करता है:

] ] ] ] बेहतर कोड पठनीयता: कमांड और क्वेरी के बीच स्पष्ट अंतर कोड को समझने में आसान बनाता है।

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

3⃣

उदाहरण: express.js api ] ? CQS के बिना:

] const उपयोगकर्ता = createUser (req.body); // आज्ञा Res.json (उपयोगकर्ता); // सवाल }); ? CQS के साथ:

] CreateUser (req.body); // आज्ञा Res.sendstatus (201); }); app.get ('/उपयोगकर्ता/: id', (req, res) => { const उपयोगकर्ता = getUser (req.params.id); // सवाल Res.json (उपयोगकर्ता); });

] ] ] नई सुविधाओं या महत्वपूर्ण घटकों पर ध्यान केंद्रित करते हुए, छोटे से शुरू करें।

] स्पष्टता और प्रदर्शन को संतुलित करने के लिए चुनिंदा रूप से अनुकूलन करें।

निष्कर्ष

] इस दृष्टिकोण को गले लगाकर, आप ऐसे सिस्टम बना सकते हैं जो के बारे में, पैमाने और परीक्षण के बारे में आसान हैं। चाहे आप एपीआई डिजाइन कर रहे हों, डोमेन लॉजिक को लागू कर रहे हों, या डेटाबेस इंटरैक्शन का प्रबंधन कर रहे हों, CQS आधुनिक सॉफ्टवेयर इंजीनियरिंग के लिए एक मूल्यवान उपकरण है।

विज्ञप्ति वक्तव्य इस लेख को पुन: प्रस्तुत किया गया है: https://dev.to/wallacefreitas/command-query-separation-cqs-a-to-tetter-software-design-2jab?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] पर संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3