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