Junior — Middle
Vai esat piemērojis 'Novērotāja' paraugu savos projektos?
sobes.tech AI
Atbilde no AI
Jā, "Vērotāja" (Observer) šablons tika izmantots PHP projektos, lai īstenotu notikumu balstītu modeli, kurā viens objekts (subjekts) informē daudzus citus objektus (novērotājus) par sava stāvokļa izmaiņām.
Piemērs 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() {
// Stāvokļa maiņa
$this->notify('Stāvoklis mainīts');
}
}
class ConcreteObserver implements Observer {
public function update(string $eventData) {
echo "Saņemts paziņojums: $eventData\n";
}
}
$subject = new Subject();
$observer = new ConcreteObserver();
$subject->attach($observer);
$subject->changeState();
Šī pieeja palīdz atdalīt stāvokļa maiņas loģiku no reakcijas uz šīm izmaiņām, uzlabojot koda paplašināmību un uzturēšanu.