Junior — Middle
Projelerinizde 'Gözlemci' desenimini kullandınız mı?
sobes.tech yapay zeka
AI'dan gelen yanıt
Evet, "Gözlemci" (Observer) tasarımı PHP projelerinde olay tabanlı bir modeli uygulamak için kullanılmıştır; burada bir nesne (özne) durumu değiştiğinde birçok diğer nesneye (gözlemcilere) bildirimde bulunur.
PHP'de kullanım örneği:
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() {
// Durumu değiştir
$this->notify('Durum değişti');
}
}
class ConcreteObserver implements Observer {
public function update(string $eventData) {
echo "Bildirim alındı: $eventData\n";
}
}
$subject = new Subject();
$observer = new ConcreteObserver();
$subject->attach($observer);
$subject->changeState();
Bu yaklaşım, durum değişikliğinin mantığını bu değişikliklere tepki verme mantığından ayırmaya yardımcı olur, böylece kodun genişletilebilirliği ve bakımı artar.