Sobes.tech
Junior — Middle

Ποιο μοτίβο σχεδίασης εφαρμόζεται στο μεσαίο λογισμικό;

sobes.tech AI

Απάντηση από AI

Στο middleware, συχνά χρησιμοποιείται το μοτίβο σχεδίασης Chain of Responsibility (Αλυσίδα Ευθύνης). Αυτό το μοτίβο επιτρέπει τη μεταβίβαση αιτημάτων μέσω μιας αλυσίδας χειριστών, όπου κάθε χειριστής αποφασίζει αν θα επεξεργαστεί το αίτημα ή θα το περάσει περαιτέρω. Στο πλαίσιο του middleware, αυτό είναι χρήσιμο για την διαδοχική επεξεργασία αιτημάτων και απαντήσεων, π.χ. για αυθεντικοποίηση, καταγραφή, διαχείριση σφαλμάτων κ.ά.

Παράδειγμα σε Python (απλουστευμένο):

class Middleware:
    def __init__(self, next_middleware=None):
        self.next = next_middleware

    def handle(self, request):
        # επεξεργασία αιτήματος
        if self.next:
            return self.next.handle(request)
        return None

class AuthMiddleware(Middleware):
    def handle(self, request):
        if not request.get('user'):
            return 'Μη εξουσιοδοτημένο'
        return super().handle(request)

class LoggingMiddleware(Middleware):
    def handle(self, request):
        print(f"Αίτημα: {request}")
        return super().handle(request)

# Δημιουργία αλυσίδας
middleware = AuthMiddleware(LoggingMiddleware())
response = middleware.handle({'user': 'Alice'})