SOLID سافٹ ویئر ڈیزائن میں بنیادی اصولوں کا ایک سیٹ ہے جو قابل توسیع، قابل توسیع اور لچکدار نظام بنانے کے لیے استعمال ہوتا ہے۔ SOLID ایک مخفف ہے جو ان پانچ اصولوں کے ابتدائی حروف سے بنتا ہے:
ایس- Single Responsibility Principle
ایک کلاس یا ماڈیول کی صرف ایک ذمہ داری ہونی چاہیے۔ یہ دیگر افعال کو متاثر کیے بغیر کوڈ کی آسان دیکھ بھال اور ترمیم میں مدد کرتا ہے۔
اے- Open/Closed Principle
کوڈ توسیع کے لیے کھلا ہونا چاہیے(نئی خصوصیات شامل کرنا) لیکن ترمیم کے لیے بند ہونا چاہیے(موجودہ کوڈ کو تبدیل نہیں کرنا)۔ یہ موجودہ کوڈ میں ترمیم کیے بغیر نئی خصوصیات شامل کرنے کے لیے وراثت، انٹرفیس، یا دیگر توسیعی میکانزم کے استعمال کی حوصلہ افزائی کرتا ہے۔
L- Liskov Substitution Principle
پروگرام کی درستگی کو متاثر کیے بغیر ذیلی طبقے کے آبجیکٹ کو پیرنٹ کلاس کی اشیاء کے لیے متبادل ہونا چاہیے۔ یہ یقینی بناتا ہے کہ وراثت کو محفوظ اور صحیح طریقے سے لاگو کیا گیا ہے۔
میں- Interface Segregation Principle
بہت سے طریقوں کے ساتھ بڑے انٹرفیس کے بجائے چھوٹے اور مخصوص انٹرفیس کا ہونا بہتر ہے۔ اس سے کلاسوں کو غیر ضروری طریقوں کو نافذ کرنے پر مجبور ہونے سے بچنے میں مدد ملتی ہے۔
ڈی- Dependency Inversion Principle
اعلی سطحی ماڈیولز کو کم سطح کے ماڈیولز پر انحصار نہیں کرنا چاہیے۔ دونوں کا انحصار تجرید پر ہونا چاہیے۔ یہ اصول ماڈیولز کے درمیان سخت جوڑے کو کم کرنے اور سسٹم کو جانچنے اور بڑھانے میں آسانی پیدا کرنے کے لیے انحصار انجیکشن کے استعمال کی حوصلہ افزائی کرتا ہے۔
SOLID اصول کوڈ کی ساخت کو بہتر بناتے ہیں، ماڈیولرٹی کو فروغ دیتے ہیں، اور تبدیلیوں سے وابستہ خطرے کو کم کرتے ہیں۔ ان اصولوں کا اطلاق مختلف پروگرامنگ زبانوں اور ترقیاتی ماحول میں کیا جا سکتا ہے۔