Junior — Middle
Kas te olete rakendatud 'Jälgija' mustrit oma projektides?
sobes.tech AI
Vastus AI-lt
Jah, "Jälgija" (Observer) muster on kasutatud PHP projektides sündmustel põhineva mudeli rakendamiseks, kus üks objekt (teema) teavitab paljusid teisi objekte (jälgijaid) oma oleku muutustest.
Näide PHP-s:
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() {
// Oleku muutmine
$this->notify('Oleku muudetud');
}
}
class ConcreteObserver implements Observer {
public function update(string $eventData) {
echo "Saadud teade: $eventData\n";
}
}
$subject = new Subject();
$observer = new ConcreteObserver();
$subject->attach($observer);
$subject->changeState();
See lähenemine aitab eraldada oleku muutmise loogika reaktsioonist nende muutuste suhtes, parandades koodi laiendatavust ja hooldatavust.