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();
Αυτή η προσέγγιση βοηθά στον διαχωρισμό της λογικής αλλαγής κατάστασης από την αντίδραση σε αυτές τις αλλαγές, βελτιώνοντας την επεκτασιμότητα και τη συντήρηση του κώδικα.