Sobes.tech
Junior — Middle

Ați aplicat pattern-ul 'Observator' în proiectele dvs.?

sobes.tech AI

Răspuns de la AI

Da, pattern-ul "Observer" (Observator) a fost utilizat în proiecte PHP pentru implementarea unui model bazat pe evenimente, în care un obiect (subiect) notifică multe alte obiecte (observatori) despre schimbările din starea sa.

Exemplu de utilizare în PHP:

interface Observer {
    public function update(string $eventData);
}

class Subject {
    private $observers = [];

    public function attach(Observer $observer) {
        $this->observers[] = $observer;
    }

    public function notify(string $eventData) {
        foreach ($this->observers as $observer) {
            $observer->update($eventData);
        }
    }

    public function changeState() {
        // Schimbare stare
        $this->notify('Stare schimbată');
    }
}

class ConcreteObserver implements Observer {
    public function update(string $eventData) {
        echo "Notificare primită: $eventData\n";
    }
}

$subject = new Subject();
$observer = new ConcreteObserver();
$subject->attach($observer);
$subject->changeState();

Această abordare ajută la separarea logicii de schimbare a stării de reacția la aceste schimbări, îmbunătățind extensibilitatea și întreținerea codului.