Sobes.tech
Junior — Middle

Heeft u het 'Observer'-patroon toegepast in uw projecten?

sobes.tech AI

Antwoord van AI

Ja, het "Observer"-patroon is gebruikt in PHP-projecten om een op gebeurtenissen gebaseerd model te implementeren, waarbij één object (onderwerp) vele andere objecten (waarnemers) op de hoogte stelt van veranderingen in zijn toestand.

Voorbeeld van gebruik in 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() {
        // Verander toestand
        $this->notify('Toestand gewijzigd');
    }
}

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

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

Deze aanpak helpt om de logica van het wijzigen van de toestand te scheiden van de reactie op deze wijzigingen, wat de uitbreidbaarheid en het onderhoud van de code verbetert.