Sobes.tech
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'})