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'})