SOLID सॉफ्टवेयर डिज़ाइन में मूलभूत सिद्धांतों का एक सेट है जिसका उपयोग रखरखाव योग्य, विस्तार योग्य और लचीली प्रणाली बनाने के लिए किया जाता है। SOLID इन पांच सिद्धांतों के प्रारंभिक अक्षरों से बना एक संक्षिप्त शब्द है:
एस- Single Responsibility Principle
एक वर्ग या मॉड्यूल की केवल एक ही ज़िम्मेदारी होनी चाहिए। यह अन्य कार्यात्मकताओं को प्रभावित किए बिना कोड के आसान रखरखाव और संशोधन में मदद करता है।
ओ- Open/Closed Principle
कोड एक्सटेंशन(नई सुविधाएं जोड़ने) के लिए खुला होना चाहिए लेकिन संशोधन के लिए बंद होना चाहिए(मौजूदा कोड में बदलाव नहीं करना चाहिए)। यह मौजूदा कोड को संशोधित किए बिना नई सुविधाओं को जोड़ने के लिए इनहेरिटेंस, इंटरफेस या अन्य विस्तार तंत्र के उपयोग को प्रोत्साहित करता है।
एल- Liskov Substitution Principle
प्रोग्राम की शुद्धता को प्रभावित किए बिना उपवर्ग की वस्तुओं को मूल वर्ग की वस्तुओं के लिए प्रतिस्थापित किया जाना चाहिए। यह सुनिश्चित करता है कि विरासत को सुरक्षित और सही ढंग से लागू किया गया है।
मैं- Interface Segregation Principle
कई विधियों वाले बड़े इंटरफ़ेस के बजाय छोटे और विशिष्ट इंटरफ़ेस रखना बेहतर है। इससे कक्षाओं को अनावश्यक तरीकों को लागू करने के लिए मजबूर होने से बचने में मदद मिलती है।
डी- Dependency Inversion Principle
उच्च-स्तरीय मॉड्यूल को निम्न-स्तरीय मॉड्यूल पर निर्भर नहीं होना चाहिए। दोनों को अमूर्तन पर निर्भर होना चाहिए। यह सिद्धांत मॉड्यूल के बीच तंग युग्मन को कम करने और सिस्टम का परीक्षण और विस्तार करना आसान बनाने के लिए निर्भरता इंजेक्शन के उपयोग को प्रोत्साहित करता है।
SOLID सिद्धांत कोड संरचना को बढ़ाते हैं, मॉड्यूलरिटी को बढ़ावा देते हैं और परिवर्तनों से जुड़े जोखिम को कम करते हैं। इन सिद्धांतों को विभिन्न प्रोग्रामिंग भाषाओं और विकास परिवेशों में लागू किया जा सकता है।