Junior — Middle
Použili ste vzor 'Pozorovateľ' vo svojich projektoch?
sobes.tech AI
Odpoveď od AI
Áno, vzor "Pozorovateľ" (Observer) bol použitý v projektoch PHP na implementáciu modelu založeného na udalostiach, kde jeden objekt (predmet) upozorňuje mnoho ďalších objektov (pozorovateľov) o zmenách svojho stavu.
Príklad použitia v 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() {
// Zmena stavu
$this->notify('Stav zmenený');
}
}
class ConcreteObserver implements Observer {
public function update(string $eventData) {
echo "Prijaté oznámenie: $eventData\n";
}
}
$subject = new Subject();
$observer = new ConcreteObserver();
$subject->attach($observer);
$subject->changeState();
Tento prístup pomáha oddeliť logiku zmeny stavu od reakcie na tieto zmeny, čím sa zlepšuje rozšíriteľnosť a údržba kódu.