Junior — Middle
Da li ste primenili obrazac 'Posmatrač' u svojim projektima?
sobes.tech АИ
Одговор од АИ
Da, obrazac "Posmatrač" (Observer) je korišćen u PHP projektima za implementaciju modela zasnovanog na događajima, gde jedan objekat (subjekt) obaveštava mnoge druge objekte (posmatrače) o promenama svog stanja.
Primer upotrebe u 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() {
// Promena stanja
$this->notify('Stanje je promenjeno');
}
}
class ConcreteObserver implements Observer {
public function update(string $eventData) {
echo "Primljeno obaveštenje: $eventData\n";
}
}
$subject = new Subject();
$observer = new ConcreteObserver();
$subject->attach($observer);
$subject->changeState();
Ovaj pristup pomaže da se logika promene stanja odvoji od reakcije na te promene, čime se poboljšava proširivost i održavanje koda.