Sobes.tech
Junior — Middle

Cavablar zənciri nümunəsinin nə olduğunu və necə istifadə olunduğunu izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Məsuliyyət zənciri (Chain of Responsibility) — bu davranış şablonudur və sorğunu ardıcıl olaraq işləyicilər zənciri boyunca ötürməyə imkan verir, ta ki, biri onu işləsin.

Əsas fikir odur ki, hər bir işləyici sorğunu işləyə biləcəyinə qərar verir; əks halda, onu zəncirin növbəti üzvünə ötürür.

iOS-da tətbiqi:

  • Bir neçə obyekt hadisəni və ya xətanı potensial olaraq işləyə bilər.
  • Tapşırıqların zəncir şəklində təyin edilməsi, məsələn, istifadəçi girişinin və ya şəbəkə cavablarının işlənməsi.

Swift-də sadə tətbiq nümunəsi:

protocol Handler {
    var next: Handler? { get set }
    func handle(request: String)
}

class ConcreteHandlerA: Handler {
    var next: Handler?
    func handle(request: String) {
        if request == "A" {
            print("ConcreteHandlerA tərəfindən işlənib")
        } else {
            next?.handle(request: request)
        }
    }
}

class ConcreteHandlerB: Handler {
    var next: Handler?
    func handle(request: String) {
        if request == "B" {
            print("ConcreteHandlerB tərəfindən işlənib")
        } else {
            next?.handle(request: request)
        }
    }
}

// İstifadə
let handlerA = ConcreteHandlerA()
let handlerB = ConcreteHandlerB()
handlerA.next = handlerB

handlerA.handle(request: "B") // Nəticə: ConcreteHandlerB tərəfindən işlənib

Bu şəkildə, şablon sorğu göndərən və alan arasında sərt əlaqəni qarşısını almağa kömək edir, sistemi daha çevik və genişləndirilə bilən edir.