Junior — Middle
Avez-vous appliqué le motif 'Observateur' dans vos projets?
sobes.tech IA
Réponse de l'IA
Oui, le patron "Observateur" (Observer) a été utilisé dans des projets PHP pour implémenter un modèle basé sur des événements, où un objet (sujet) notifie de nombreux autres objets (observateurs) des changements de son état.
Exemple d'utilisation en 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() {
// Changement d'état
$this->notify('État changé');
}
}
class ConcreteObserver implements Observer {
public function update(string $eventData) {
echo "Notification reçue : $eventData\n";
}
}
$subject = new Subject();
$observer = new ConcreteObserver();
$subject->attach($observer);
$subject->changeState();
Cette approche aide à séparer la logique de changement d'état de la réaction à ces changements, améliorant la extensibilité et la maintenance du code.