Junior — Middle
Oraliq dasturiy ta'minotda qaysi dizayn shabloni qo'llaniladi?
sobes.tech AI
AIdan javob
Middlewareda ko‘pincha Mas’uliyat zanjiri (Chain of Responsibility) dizayn shabloni qo‘llaniladi. Bu shablon so‘rovlarni ishlov beruvchilar zanjiri bo‘ylab uzatishga imkon beradi, bunda har bir ishlov beruvchi so‘rovni ishlash yoki uni keyingiga uzatishga qaror qiladi. Middleware kontekstida bu so‘rovlar va javoblarni ketma-ket ishlash uchun qulay, masalan, autentifikatsiya, loglash, xato bilan ishlash va boshqalar uchun.
Python misoli (soddalashtirilgan):
class Middleware:
def __init__(self, next_middleware=None):
self.next = next_middleware
def handle(self, request):
# so‘rovni ishlash
if self.next:
return self.next.handle(request)
return None
class AuthMiddleware(Middleware):
def handle(self, request):
if not request.get('user'):
return 'Noma’lum'
return super().handle(request)
class LoggingMiddleware(Middleware):
def handle(self, request):
print(f"So‘rov: {request}")
return super().handle(request)
# Zanjirni yaratish
middleware = AuthMiddleware(LoggingMiddleware())
response = middleware.handle({'user': 'Alice'})