Junior — Middle
Hai applicato il pattern 'Osservatore' nei tuoi progetti?
sobes.tech AI
Risposta dell'AI
Sì, il pattern "Observer" è stato utilizzato in progetti PHP per implementare un modello basato su eventi, in cui un oggetto (soggetto) notifica molti altri oggetti (osservatori) sui cambiamenti del suo stato.
Esempio di utilizzo 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() {
// Cambia stato
$this->notify('Stato cambiato');
}
}
class ConcreteObserver implements Observer {
public function update(string $eventData) {
echo "Notifica ricevuta: $eventData\n";
}
}
$subject = new Subject();
$observer = new ConcreteObserver();
$subject->attach($observer);
$subject->changeState();
Questo approccio aiuta a separare la logica di modifica dello stato dalla reazione a tali modifiche, migliorando la scalabilità e la manutenzione del codice.