Sobes.tech
Junior — Middle

Έχετε εφαρμόσει το μοτίβο 'Παρατηρητής' στα έργα σας;

sobes.tech AI

Απάντηση από AI

Ναι, το μοτίβο "Παρατηρητής" (Observer) έχει χρησιμοποιηθεί σε έργα PHP για την υλοποίηση ενός μοντέλου βασισμένου σε γεγονότα, όπου ένα αντικείμενο (υποκείμενο) ειδοποιεί πολλά άλλα αντικείμενα (παρατηρητές) για αλλαγές στην κατάσταση του.

Παράδειγμα χρήσης σε 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() {
        // Αλλαγή κατάστασης
        $this->notify('Η κατάσταση άλλαξε');
    }
}

class ConcreteObserver implements Observer {
    public function update(string $eventData) {
        echo "Λήφθηκε ειδοποίηση: $eventData\n";
    }
}

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

Αυτή η προσέγγιση βοηθά στον διαχωρισμό της λογικής αλλαγής κατάστασης από την αντίδραση σε αυτές τις αλλαγές, βελτιώνοντας την επεκτασιμότητα και τη συντήρηση του κώδικα.