Junior — Middle
Жоболоруңузда 'Көз салгыч' үлгүсүн колдондуңузбу?
sobes.tech AI
AIден жооп
Ооба, "Көз караш" (Observer) үлгүсү PHP долбоорлорунда ишке ашырылган, ал жерде бир объект (объект) өз абалындагы өзгөрүүлөр жөнүндө көптөгөн башка объекттерге (көз караштарга) кабар берет.
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() {
// Абалды өзгөртүү
$this->notify('Абал өзгөрдү');
}
}
class ConcreteObserver implements Observer {
public function update(string $eventData) {
echo "Кабыл алынган кабар: $eventData\n";
}
}
$subject = new Subject();
$observer = new ConcreteObserver();
$subject->attach($observer);
$subject->changeState();
Бул ыкма абалдын өзгөрүшүнүн логикасын ошол өзгөрүүлөргө жооп берүү логикасынан бөлүүгө жардам берет, бул коддун кеңейиштүүлүгүн жана тейлөө жөндөмдүүлүгүн жакшыртат.