SOLID मा सिद्धान्तहरू लागू गर्दै Python: उदाहरणहरू र उत्तम अभ्यासहरू

Single Responsibility Principle(SRP)

यस सिद्धान्तले प्रत्येक वर्गको एउटै जिम्मेवारी हुनुपर्छ भनी बताउँछ। यसले जोड दिन्छ कि वर्गले एउटा विशेष प्रकार्य प्रदर्शन गर्नुपर्छ र परिवर्तन गर्न धेरै कारणहरू हुँदैन।

उदाहरण: प्रयोगकर्ता जानकारी व्यवस्थापन र इमेल सूचनाहरू पठाउने।

class UserManager:  
    def create_user(self, user_data):  
        # Logic for creating a user  
        pass  
  
class EmailService:  
    def send_email(self, email_data):  
        # Logic for sending an email  
        pass  

Open/Closed Principle(OCP)

यो सिद्धान्तले विद्यमान कोड परिमार्जन गर्नुको सट्टा नयाँ कोड थपेर कार्यक्षमता विस्तार गर्न प्रोत्साहन गर्छ।

उदाहरण: ई-वाणिज्य अनुप्रयोगमा विभिन्न भुक्तानी विधिहरू ह्यान्डल गर्दै।

from abc import ABC, abstractmethod  
  
class PaymentProcessor(ABC):  
    @abstractmethod  
    def process_payment(self):  
        pass  
  
class CreditCardPaymentProcessor(PaymentProcessor):  
    def process_payment(self):  
        # Logic for processing credit card payment  
        pass  
  
class PayPalPaymentProcessor(PaymentProcessor):  
    def process_payment(self):  
        # Logic for processing PayPal payment  
        pass  

Liskov Substitution Principle(LSP)

यो सिद्धान्तले व्युत्पन्न वर्गका वस्तुहरू कार्यक्रमको शुद्धतालाई असर नगरी आधार वर्गका वस्तुहरूका लागि प्रतिस्थापन गर्न सकिन्छ भनी जोड दिन्छ।

उदाहरण: ज्यामितीय आकारहरू प्रबन्ध गर्नुहोस्।

class Shape:  
    def area(self):  
        pass  
  
class Rectangle(Shape):  
    def area(self):  
        return self.width * self.height  
  
class Square(Shape):  
    def area(self):  
        return self.side * self.side  

Interface Segregation Principle(ISP)

यो सिद्धान्तले इन्टरफेसहरूलाई सानामा विभाजन गर्न सल्लाह दिन्छ ताकि कक्षाहरूलाई उनीहरूलाई आवश्यक नपर्ने विधिहरू लागू गर्न बाध्य पार्नबाट जोगिन।

उदाहरण: डाटा अद्यावधिक र प्रदर्शन गर्नका लागि इन्टरफेसहरू।

class UpdateableFeature:  
    @abstractmethod  
    def update_feature(self):  
        pass  
  
class DisplayableFeature:  
    @abstractmethod  
    def display_feature(self):  
        pass  

Dependency Inversion Principle(DIP)

यस सिद्धान्तले निर्भरता व्यवस्थापन गर्न निर्भरता इंजेक्शन प्रयोग गर्न सुझाव दिन्छ।

उदाहरण: निर्भरता व्यवस्थापन गर्न निर्भरता इंजेक्शन प्रयोग गर्दै।

class OrderProcessor:  
    def __init__(self, db_connection, email_service):  
        self.db_connection = db_connection  
        self.email_service = email_service  

याद गर्नुहोस् कि SOLID मा सिद्धान्तहरू लागू गर्ने तपाईंको परियोजनाको विशेष उद्देश्य Python र तपाईंको बुझाइको आधारमा लचिलो रूपमा गरिनु पर्छ SOLID । Python