Observer Design Pattern Kod Örneğiyle

Murat Çakmak
May 5, 2022

Observer; Bir sınıfta olan değişiklikleri, duymak isteyen diğer sınıflara haber veren tasarım desenidir.

Observer Design Pattern

Wiki: https://en.wikipedia.org/wiki/Observer_pattern

Basitçe Anlayalım

Belki Laravel deki observerdan aklınıza gelebilir. Observera tanımlanmış olan modelin deleting, deleted veya updated gibi metotları tetiklenmiş oluyor.
Observer abonelik mekanizması olarak yorumlanıyor en basitinden baktığımızda anlamak açısından bir kişiye abone kişiler vardır ve bu kişiler abone oldukları kişideki belirlenmiş bilgilerden haberdar olurlar.

Maddelersek

  • SubjectInterface abonelik ve bilgilendirme metotları belirlenir.
  • Subject(Observable(İzlenebilir/Gözlemlenebilir)) ana iş sınıfıdır ve abonelikler burada yapılır.
  • ObserverInterface hangi metotlardan haber almak istiyorsak belirtiriz.
  • Observer(Gözlemci), Observable sınıfına üyedir ve oradaki değişikliklerden haberdar olmak için metoda sahiptir.

Kod Örneği

--

--