SOLID सिद्धांतों को लागू करना Node.js

Single Responsibility Principle(SRP)

यह सिद्धांत बताता है कि एक वर्ग में परिवर्तन का केवल एक ही कारण होना चाहिए, जिसका अर्थ है कि प्रत्येक वर्ग को एक विशिष्ट कार्य करना चाहिए।

उदाहरण: उपयोगकर्ता डेटा प्रबंधित करना और email सूचनाएं भेजना।

class UserManager {  
  constructor() {}  
    
  createUser(userData) {  
    // Logic for creating a user  
  }  
}  
  
class EmailService {  
  constructor() {}  
    
  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() {}  
}  
  
class Rectangle extends Shape {  
  constructor(width, height) {}  
    
  area() {  
    return this.width * this.height;  
  }  
}  
  
class Square extends Shape {  
  constructor(side) {}  
    
  area() {  
    return this.side * this.side;  
  }  
}  

इंटरफ़ेस पृथक्करण सिद्धांत(आईएसपी)

यह सिद्धांत कक्षाओं को उन तरीकों को लागू करने के लिए मजबूर करने से बचने के लिए इंटरफेस को छोटे हिस्सों में तोड़ने की सलाह देता है जिनकी उन्हें आवश्यकता नहीं है।

उदाहरण: डेटा को अद्यतन करने और प्रदर्शित करने के लिए इंटरफ़ेस।

class UpdateableFeature {  
  updateFeature() {}  
}  
  
class DisplayableFeature {  
  displayFeature() {}  
}  

Dependency Inversion Principle(DIP)

यह सिद्धांत बताता है कि उच्च-स्तरीय मॉड्यूल को निम्न-स्तरीय मॉड्यूल पर निर्भर नहीं होना चाहिए; दोनों को अमूर्तन पर निर्भर रहना चाहिए।

उदाहरण: dependency injection निर्भरताओं को प्रबंधित करने के लिए उपयोग करना।

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

SOLID याद रखें, ये उदाहरण केवल उदाहरण हैं कि सिद्धांतों को कैसे लागू किया जाए Node.js । व्यवहार में, आपको अपने प्रोजेक्ट के उद्देश्य और पैमाने के आधार पर उन्हें लचीले ढंग से लागू करने की आवश्यकता होगी।