Design Patterns (Tasarım Kalıpları) Yazı Serisi - 2
İlk olarak Observer design pattern'i anlatarak başlayalım.
Observer patterni bir bildirim mekanizması olarak çalışır. Örnek verecek olursak, Hisse Senedi uygulaması hayal edelim. Burada Hisse Senetleri Subject'tir yani gözlenendir. Yatırımcılar ise Observer(gözleyen)'dir.
Hisse senedi fiyatında olan herhangi bir değişiklikte, Observer'lar bilgilendirilmelidir. Bu noktada yapmamız gereken eğer değer değiştiyse Notify() metodunu gerçekleştirmektir.
Genel olarak Observer patterni UML'i aşağıdaki gibidir.
Burada Subject hisse senedi, Observer ise yatırımcılardır. Hisse senedinin yatırımcıları vardır. Hisse senedi değeri değiştiğinde Hisse senedi içindeki Notify() metodu çalışır ve observer'lar içerisindeki update() metodu tetiklenir.
Şimdi Observer design patternin uygulamasına geçelim.
2 tane sınıf oluşturacağız. Bunlar Stock(Hisse Senedi) ve Observer(Yatırımcı)
Öncelikle Observer sınıfını oluşturalım.
Şimdi Stock sınıfını oluşturmaya başlayalım.
Burada Attach metodumuz, hisse senedine yatırımcı(observer) eklememizi sağlıyor.
Detach metodu ise var olan bir yatırımcıyı kaldırmamızı sağlamakta.
Notify metodu ise yeni bir değer girildiğinde, eğer girilen değerle o anki hisse senedi değeri farklıysa, çalıştırılıyor. Her bir observer dönülerek Update() metodu tetikleniyor.
Uygulama kodumuzu da yazalım.
Observer patterni bir bildirim mekanizması olarak çalışır. Örnek verecek olursak, Hisse Senedi uygulaması hayal edelim. Burada Hisse Senetleri Subject'tir yani gözlenendir. Yatırımcılar ise Observer(gözleyen)'dir.
Hisse senedi fiyatında olan herhangi bir değişiklikte, Observer'lar bilgilendirilmelidir. Bu noktada yapmamız gereken eğer değer değiştiyse Notify() metodunu gerçekleştirmektir.
Genel olarak Observer patterni UML'i aşağıdaki gibidir.
Şimdi Observer design patternin uygulamasına geçelim.
2 tane sınıf oluşturacağız. Bunlar Stock(Hisse Senedi) ve Observer(Yatırımcı)
Öncelikle Observer sınıfını oluşturalım.
Şimdi Stock sınıfını oluşturmaya başlayalım.
Burada Attach metodumuz, hisse senedine yatırımcı(observer) eklememizi sağlıyor.
Detach metodu ise var olan bir yatırımcıyı kaldırmamızı sağlamakta.
Notify metodu ise yeni bir değer girildiğinde, eğer girilen değerle o anki hisse senedi değeri farklıysa, çalıştırılıyor. Her bir observer dönülerek Update() metodu tetikleniyor.
Uygulama kodumuzu da yazalım.
Programı çalıştırdığımızda ekran çıktısı aşağıdaki gibi olmalıdır.
Yorumlar
Yorum Gönder