Sobes.tech
Junior — Middle

Haben Sie das Muster 'Beobachter' in Ihren Projekten angewendet?

sobes.tech KI

Antwort von AI

Ja, das Muster "Beobachter" (Observer) wurde in PHP-Projekten verwendet, um ein ereignisbasiertes Modell zu implementieren, bei dem ein Objekt (Subjekt) viele andere Objekte (Beobachter) über Änderungen seines Zustands informiert.

Beispiel für die Verwendung 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() {
        // Zustand ändern
        $this->notify('Zustand geändert');
    }
}

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

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

Dieser Ansatz hilft, die Logik der Zustandsänderung von der Reaktion auf diese Änderungen zu trennen, was die Erweiterbarkeit und Wartbarkeit des Codes verbessert.