सॉलिड प्रिंसिपल्स डिमिस्टिफाइड — इंट्रो
जटिल सॉफ़्टवेयर बनाना उत्साहजनक और चुनौतीपूर्ण दोनों है, लेकिन खराब लिखे गए सॉफ़्टवेयर को बनाए रखना और अपग्रेड करना और भी चुनौतीपूर्ण और निराशाजनक है।
जिस कार्यप्रणाली में हम महान और अच्छी तरह से संरचित कोड लिखते हैं, वह ठोस सिद्धांतों नामक सिद्धांतों के एक समूह का पालन और पालन करना है ।
![](https://post.nghiatu.com/assets/images/m/max/724/1*sB2JcbjImM1-Qw9G20D_Ug.png)
SOLID सिद्धांतों को पहली बार कंप्यूटर वैज्ञानिक रॉबर्ट सी। मार्टिन ने 2000 में प्रकाशित अपने पेपर में पेश किया था।
आइए ठोस परिवर्णी शब्द देखें:
(एस) एकल उत्तरदायित्व सिद्धांत ←
एक वर्ग को केवल एक ही उद्देश्य के लिए जिम्मेदार होना चाहिए, जिसका अर्थ है कि एक वर्ग के पास प्रदर्शन करने के लिए केवल एक प्रकार की नौकरी होनी चाहिए जैसे (डेटाबेस लॉजिक, लॉगिंग लॉजिक और इसी तरह)।
(ओ)कलम/बंद सिद्धांत ←
विस्तार के लिए एक वर्ग खुला होना चाहिए और संशोधन के लिए बंद होना चाहिए, जिसका अर्थ है कि नई कार्यक्षमता को लागू करने के लिए मौजूदा वर्ग को फिर से लिखे बिना विस्तार योग्य होना चाहिए।
(एल) iskov प्रतिस्थापन सिद्धांत ←
मूल वर्ग आसानी से अपने बच्चे की कक्षाओं के साथ प्रतिस्थापन योग्य होना चाहिए, जिसका अर्थ है कि यदि वर्ग आयत वर्ग आकार का एक उपप्रकार है, तो हमें कार्यात्मक प्रवाह को बाधित किए बिना आकार को आयत से बदलने में सक्षम होना चाहिए।
(I) इंटरफ़ेस अलगाव सिद्धांत ←
इंटरफेस को कक्षाओं को उस कार्यक्षमता को लागू करने के लिए मजबूर नहीं करना चाहिए जो वे समर्थन नहीं करते हैं, जिसका अर्थ है कि बड़े इंटरफेस को समर्थन देने के लिए छोटे में विभाजित किया जाना चाहिए।
(डी) निर्भरता उलटा सिद्धांत ←
कक्षाओं को अमूर्तता पर निर्भर होना चाहिए, लेकिन कंक्रीट पर नहीं, जिसका अर्थ है कि उच्च-स्तरीय मॉड्यूल निम्न-स्तरीय मॉड्यूल पर निर्भर नहीं होना चाहिए। दोनों को अमूर्तता पर निर्भर होना चाहिए।