SOLID میں اصولوں کا اطلاق JavaScript: مثالیں اور بہترین طرز عمل

Single Responsibility Principle(SRP)

یہ اصول کہتا ہے کہ ہر طبقے کی ایک ہی ذمہ داری ہونی چاہیے۔ یہ اس بات پر زور دیتا ہے کہ کلاس کو ایک مخصوص فنکشن انجام دینا چاہئے اور اس میں تبدیلی کی بہت زیادہ وجوہات نہیں ہونی چاہئیں۔

مثال: صارف کی معلومات کا انتظام کرنا اور ای میل اطلاعات بھیجنا۔

class UserManager {  
  createUser(userData) {  
    // Logic for creating a user  
  }  
}  
  
class EmailService {  
  sendEmail(emailData) {  
    // Logic for sending an email  
  }  
}  

Open/Closed Principle(OCP)

یہ اصول موجودہ کوڈ میں ترمیم کرنے کے بجائے نیا کوڈ شامل کرکے فعالیت کو بڑھانے کی حوصلہ افزائی کرتا ہے۔

مثال: ای کامرس ایپلیکیشن میں ادائیگی کے مختلف طریقوں کو ہینڈل کرنا۔

class PaymentProcessor {  
  processPayment() {  
    // Common logic for payment processing  
  }  
}  
  
class CreditCardPaymentProcessor extends PaymentProcessor {  
  processPayment() {  
    // Logic for processing credit card payment  
  }  
}  
  
class PayPalPaymentProcessor extends PaymentProcessor {  
  processPayment() {  
    // Logic for processing PayPal payment  
  }  
}  

Liskov Substitution Principle(LSP)

یہ اصول اس بات پر زور دیتا ہے کہ اخذ شدہ کلاس کی اشیاء کو پروگرام کی درستگی کو متاثر کیے بغیر بیس کلاس کی اشیاء کے لیے متبادل ہونا چاہیے۔

مثال: ہندسی شکلوں کا نظم کرنا۔

class Shape {  
  area() {  
    // Common logic for calculating area  
  }  
}  
  
class Rectangle extends Shape {  
  area() {  
    // Logic for calculating area of rectangle  
  }  
}  
  
class Square extends Shape {  
  area() {  
    // Logic for calculating area of square  
  }  
}  

Interface Segregation Principle(ISP)

یہ اصول انٹرفیس کو چھوٹے حصوں میں توڑنے کا مشورہ دیتا ہے تاکہ کلاسوں کو ان طریقوں کو نافذ کرنے پر مجبور کرنے سے گریز کیا جائے جن کی انہیں ضرورت نہیں ہے۔

مثال: ڈیٹا کو اپ ڈیٹ کرنے اور ڈسپلے کرنے کے لیے انٹرفیس۔

class UpdateableFeature {  
  updateFeature() {  
    // Logic for updating feature  
  }  
}  
  
class DisplayableFeature {  
  displayFeature() {  
    // Logic for displaying feature  
  }  
}  

Dependency Inversion Principle(DIP)

یہ اصول انحصار کو منظم کرنے کے لئے انحصار انجیکشن کا استعمال کرنے کی تجویز کرتا ہے۔

مثال: انحصار کا انتظام کرنے کے لیے انحصار انجکشن کا استعمال۔

class OrderProcessor {  
  constructor(dbConnection, emailService) {  
    this.dbConnection = dbConnection;  
    this.emailService = emailService;  
  }  
}  

یاد رکھیں کہ SOLID میں اصولوں کو لاگو کرنا آپ کے پروجیکٹ کے مخصوص مقصد اور اور JavaScript کے بارے میں آپ کی سمجھ کی بنیاد پر لچکدار طریقے سے ہونا چاہیے ۔ SOLID JavaScript