Observer Design Pattern

Hasan Kadir Demircan
1 min readMar 23, 2020

--

Nedir Bu Observer Design Pattern?

Bir nesnenin durumu değiştiğinde bağımlılarına bildirme ve güncelleme işlemini gerçekleştiren bir örüntüdür.

Örnek olarak kodumuzla ilişkili olması açısından alışveriş sitesindeki ürünlerden örnek vereceğim.

Mesela bir alışveriş sitesinden iphone 7 almak isteyelim.

Fakat sitede bu ürün geçici olarak temin edilemiyor olsun.

Biz ürün temin edildiğinde bildirim almak istiyoruz.

İşte tam bu durumda observer design pattern ortaya çıkıyor.

Observer.java

Yukarıda observer(gözlemci) interface tanımladık.

update methodu ilgili ürünün güncellemelerini yayınlamamızı sağlayacaktır.

Subject.java

Subject interface’ i duyurumuzda bulunacak müşterileri temsil etmektedir.

Üründen haber alıp/almaması durumları için.

Product.java

Product sınıfı Subject interface implement ederek özelleştiriyoruz.

Gerekli ürün adı, ürün durumu, ürünlerin bildirimi, ürünlere müşteri eklemek/silmek gibi işlemleri Product sınıfı üzerinden yönetiyoruz.

Customer.java

Yukarıda Customer sınıfını tanımladık burada farketmemiz gereken şey Observer sınıfını implement ediyor oluşudur.

Yani bu Customer sınıfımız artık bir gözlemci olmuştur.

Eğer üründen bildirim almak istiyorsa ürün bildirimleri kendisine iletilecektir.

Ve bu yaptıklarımızı tetikleyecek Main sınıfını yazdık.

Burayı kısa olarak açıklamak gerekirse,

2 tane müşteri oluşturuyoruz ve iphone7 ürünü sisteme girdiğinde haber almak istiyorlar.

iphone7 ürünü geldiğinde customer1 ve customer2'ye bildirim gidiyor.

Daha sonra customer1 haber almaktan vazgeçiyor ve ürün tekrar geldiğinde sadece customer2 bildirim almış oluyor.

Github : Observer Design Pattern

--

--

Hasan Kadir Demircan
Hasan Kadir Demircan

No responses yet