कम्प्यूटर प्रोग्रामिंग में, सॉलिड या SOLID एक स्मरक लघुरूप शब्द है जो रॉबर्ट सी. मार्टिन[1][2] द्वारा 2000 के दशक[3] के आरम्भ में नामित "प्रथम पाँच सिद्धान्तों" के लिए माइकल फीदर्स द्वारा प्रचलित किया गया था जो वस्तु उन्मुख प्रोग्रामिंग (object oriented programming ऑब्जॅक्ट औरिएण्टेड प्रोग्रामिंग) और डिज़ाइन के पाँच आधारभूत सिद्धान्तों के लिए है।

सॉलिड

ये पाँच सिद्धान्त है:

  • S (Single responsibility एकल दायित्व)
  • O (Open-closed खुला-बन्द)
  • L (Liskov substitution लिस्कोव प्रतिस्थापन)
  • I (Interface segregation इण्टरफ़ेस पृथक्करण)
  • D (Dependency inversion निर्भरता विपरीतता)।

ये सिद्धान्त एकसाथ लागू किए जाने पर इस बात का प्रायोजन रखते हैं कि किसी प्रोग्रामर द्वारा निर्मित कोई सिस्टम रकरखाव करने में और समय के साथ-साथ विस्तारित करने में सरल होगा। सॉलिड के सिद्धान्त एक मार्निर्देशक हैं जो किसी सॉफ़्टवेयर पर काम किए जाने के दौरान लागू किए जाने पर कोड स्मॅल को हटाने में सहायक होते हैं। यह कुशल और अनुकूली प्रोग्रामिंग के लिए एक समग्र रणनीति का हिस्सा है।

अवलोकन संपादित करें

प्रथमाक्षर (अंग्रेज़ी) सिद्धान्त (लघुरूप नाम) संकल्पना
S ऍस.आर.पी. [4]
एकल दायित्व सिद्धान्त
एक क्लास के ऊपर केवल एक ही दायित्व होना चाहिए (सॉफ़्टवेयर के विनिर्देश में केवल एक सम्भावित परिवर्तन क्लास के विनिर्देश को प्रभावित करने में सक्षम होना चाहिए)
O ओ.सी.पी. [5]
खुला/बन्द सिद्धान्त
"सॉफ़्टवेयर अस्तित्वी... विस्तारण के लिए खुले होने चाहिए, लेकिन परिवर्तनों के लिए बन्द होना चाहिए।"
L लिप्रसि [6]
लिस्कोव प्रतिस्थापन सिद्धान्त
"प्रोग्राम में वस्तुएँ उस प्रोग्राम की विशुद्धता को बदले बिना उन वस्तुओं के उपप्रकार की वस्तुओं द्वारा प्रतिस्थापन योग्य होने चाहिए"
I आई.ऍस.पी. [7]
इण्टरफ़ेस पृथक्करण सिद्धान्त
“एक सर्वप्रायोजन योग्य इण्टरफ़ेस की तुलना में बहुत से क्लाइण्ट-विशिष्ट इण्टरफ़ेस बेहतर हैं।”[8]
D डी.आई.पी. [9]
निर्भरता विपरीतता सिद्धान्त
अमूर्तन (ऐब्सट्रैक्शन) पर निर्भर रहा जाए कार्यान्वयन पर नहीं[8]

सन्दर्भ संपादित करें

  1. “Principles Of OOD” Archived 2016-10-25 at the वेबैक मशीन, Robert C. Martin (“Uncle BOB”), butunclebob.com, Last verified 2014-07-17. (Note the reference to “the first five principles”, though the acronym is not used in this article.) Dates back to at least 2003.
  2. “Getting a SOLID start.” Archived 2016-12-26 at the वेबैक मशीन, Robert C. Martin (“Uncle Bob”), objectmentor.com. Last verified 2013-08-19.
  3. “SOLID Object-Oriented Design” Archived 2014-03-29 at the वेबैक मशीन, Sandi Metz (Duke University), Talk given at the 2009 Gotham Ruby Conference in May, 2009. Last verified 2009-01-15.
  4. "Single Responsibility Principle" (PDF). मूल से 2 फ़रवरी 2015 को पुरालेखित (PDF). अभिगमन तिथि 25 जुलाई 2015.
  5. "Open/Closed Principle" (PDF). मूल से 5 सितंबर 2015 को पुरालेखित (PDF). अभिगमन तिथि 25 जुलाई 2015.
  6. "Liskov Substitution Principle" (PDF). मूल से 5 सितंबर 2015 को पुरालेखित (PDF). अभिगमन तिथि 25 जुलाई 2015.
  7. "Interface Segregation Principle" (PDF). मूल से 5 सितंबर 2015 को पुरालेखित (PDF). अभिगमन तिथि 25 जुलाई 2015.
  8. “Design Principles and Design Patterns” Archived 2015-09-06 at the वेबैक मशीन, Robert C. Martin (“Uncle Bob”), objectmentor.com. Last verified 2009-01-14.
  9. "Dependency Inversion Principle" (PDF). मूल से 14 जुलाई 2011 को पुरालेखित (PDF). अभिगमन तिथि 25 जुलाई 2015.