18 Şubat 2012 Cumartesi

Observer Pattern (İzleyici Şablonu)

Tür: Davranışsal Şablon 
Diğer Adı: Yayınla-Abone Ol (Publish-Subscribe)
İzleyici Şablonu (Observer Pattern) öyle bir birden çoğa (one-to-many) ilişki tanımlar ki; bir nesne (konu [subject] yada izlenilen [observable]) değiştiği zaman ona kayılı olan (registered) tüm nesneler (izleyiciler [observers]) haberdar edilir (notified).

İzleyici şablonun amacı, belirli bir konuda yayın yapan kaynağın, bu bilgiye ihtiyaç duyan nesneler tarafından takip edilmesini sağlayacak bir arayüz sağlamaktır. Bu yüzden Yayınla-Abone Ol Şablonu da denir. 



Yukarıda bu şablonun sınıf şemasını görüyoruz. Subject izlenilen, Observer ise izleyen nesneler için arayüz (interface) sınıflarıdır. Bu sınıflar standard Java kütüphanesinde de Observable ve Observer olarak yer alırlar.

Bir sınıfı yayıncı yada izleyici yapmak için ilk önce gerekli arayüzlere uyması (implement) gerekir. Ardından gereklli metotlar yeniden yazılarak (override) bu çerçeveye (framework, paradigm) uyulmuş olunur.