Table of Contents
सॉफ्टवेयर विकास में, उन वर्गों को बनाना जो अत्यधिक एकजुट हैं, रखरखाव और स्केलेबल अनुप्रयोगों के निर्माण के लिए आवश्यक है। एकल उत्तरदायित्व सिद्धांत (SRP) एक मूलभूत दिशानिर्देश है जो डेवलपर्स को इस लक्ष्य को प्राप्त करने में मदद करता है। यह बताता है कि एक वर्ग को बदलने का एकमात्र कारण होना चाहिए, जिसका अर्थ है कि यह एक ही जिम्मेदारी या उद्देश्य पर ध्यान केंद्रित करना चाहिए।
एकल उत्तरदायित्व सिद्धांत को समझना
SRP ऑब्जेक्ट- ओरिएंटेड डिज़ाइन के पांच सोलिड सिद्धांतों में से एक है। यह डेवलपर्स को उन वर्गों को डिज़ाइन करने के लिए प्रोत्साहित करता है जो संकीर्ण रूप से केंद्रित हैं। जब एक वर्ग की कई जिम्मेदारियां होती हैं, तो एक क्षेत्र में परिवर्तन अनजाने में सिस्टम के अन्य हिस्सों को प्रभावित कर सकता है, जिससे बग्स और बढ़ी हुई जटिलता होती है।
अत्यधिक संज्ञानात्मक कक्षाओं के लाभ
- ]Ease of Maintenance: बदलाव स्थानीयकृत किये जाते हैं, जिससे असंबंधित कार्यक्षमता को तोड़ने का जोखिम कम हो जाता है।
- ]Improved readability: क्लीयर क्लास जिम्मेदारियों को कोड को समझने में आसान बना दिया है।
- ]वर्धित पुन: प्रयोज्यता: फोकस्ड क्लास को आवेदन के विभिन्न हिस्सों में पुनः उपयोग किया जा सकता है।
- बेटर परीक्षण: पृथक जिम्मेदारियों ने इकाई परीक्षण को सरल बनाया और डीबगिंग किया।
रचनात्मक कक्षाओं के डिजाइन के लिए रणनीतियाँ
SRP का पालन करने वाली कक्षाओं को बनाने के लिए निम्नलिखित रणनीतियों पर विचार करें:
- ]एक जिम्मेदारियों की पहचान करें: स्पष्ट रूप से परिभाषित करें कि प्रत्येक वर्ग को कार्यान्वयन से पहले क्या जिम्मेदार है।
- Use सार्थक नाम: नाम वर्ग स्पष्टता बढ़ाने के लिए अपनी प्राथमिक जिम्मेदारी के आधार पर।
- ]]Break down complex classs: बड़े वर्गों को छोटे, केंद्रित वर्गों में विभाजित करें।
- Apply डिजाइन पैटर्न: एकल जिम्मेदारियों को बढ़ावा देने के लिए फैक्टरी, रणनीति, या पर्यवेक्षक जैसे पैटर्न का उपयोग करें।
प्रैक्टिकल उदाहरण
मान लीजिए कि आप एक ऐसा एप्लिकेशन विकसित कर रहे हैं जो उपयोगकर्ता खातों का प्रबंधन करता है और सूचना ईमेल भेजता है। एक एक एकाधिकारी वर्ग बनाने के बजाय जो दोनों कार्यों को संभालती है, उन्हें अलग करती है:
Class 1: userAccountManager - उपयोगकर्ता डेटा और प्रमाणीकरण के प्रबंधन के लिए जिम्मेदार।
Class 2: EmailNotifier - ईमेल को जोड़ने और भेजने के लिए जिम्मेदार।
यह अलगाव यह सुनिश्चित करता है कि प्रत्येक वर्ग की एक जिम्मेदारी है, जिससे सिस्टम को बनाए रखने और विस्तार करने में आसान हो जाता है।