Kayıtlar

Design Patterns (Tasarım Kalıpları) Yazı Serisi - 3

Resim
Bu yazımda Singleton design patterni anlatatmaya çalışacağım. Singleton design pattern'i sınıfın tek bir instance(örneğine) ihtiyacımız olduğu zaman kullanabileceğimiz bir patterndir. UML gösterimi aşağıdaki gibidir. Şimdi Singleton design patterninin kodunu yazalım. Burada instance değişkeni ve  getInstance() metodu static olarak tanımlandı. Ama runtime'da bir instance oluşturarak, program çalıştığı sürece aynı instance'i kullanmaktır. Şimdi uygulama kodumuzu yazalım. Buradaysa s1, s2 ve s3 Singleton nesnesine sahibiz. Her Singleton.getInstance() dediğimizde oluşturulan Singleton örneği döndürülür. s1, s2 ve s3 nesneleri aslında aynı nesnelerdir. Ekran çıktısıda aşağıdaki gibi olmalıdır.

Design Patterns (Tasarım Kalıpları) Yazı Serisi - 2

Resim
İ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şla...

Design Patterns (Tasarım Kalıpları) Yazı Serisi - 1

Bugün, design pattern yazı serisine başlıyoruz. Toplamda 23 tane design pattern bulunmaktadır. Bunlar GoF(Gang of Four) olarak bilinir. Hepsi üzerinde durmayacağız. En çok kullanılan 6 design pattern üzerinde duracağız. Observer Singleton Repository ( C# tarzı Generic Type olan dillerde uygulanabilir) Strategy Decorator Factory

Scrum Nedir?

Resim
Scrum, bir uygulama geliştirme yöntemidir. Bu geliştirme yönteminin temel özelliği gözlemci, geliştirmeci ve tekrara dayalı olmasıdır. Scrum, Agile geliştirme yöntemlerini hayata geçirir. Örnek bir Scrum süreci; Scrum'da her bir iterasyon "Sprint" olarak bilinir. Proje Sorumlusu(Product Owner) : Ürün geri kaydı(Product Backlog) oluşturur Takım belirlenir ve "Sprint Planning" denilen 2-4 hafta arasında sürecek olan Sprint işe başlanır. Takım bu "Sprint" sürecinde Scrum Master liderliğinde her gün toplanır ve her bir üye, 15 dakika boyunca kendi ilerlemesini kısaca anlatır. Her gün yapılan ve 15 dakikayı aşmayan bu toplantıya Daily Scrum Meeting denir.

Scope Identity Nedir?

Scope Identity SQL'de eklenilen son kaydın ID değerini almak için kullanılır. Scope Identity function, trigger ve stored procedure'da kullanılabilir. Örnek olarak;  Create Procedure UrunEkle(@username nvarchar(40), @password nvarchar(20)) AS Insert Into Table Values(@username,  @password) Select SCOPE_IDENTITY() Kaydedilen son kaydın ID'sini elde etmiş olduk.

Java'da Garbage Collection Nedir?

Garbage Collector Java Virtual Machine(JVM)'de çalışan, nesnelerden kurtulmak için kullanılan bir programdır. Nesne oluşturduğumuz zaman bu nesne için hafızadan yer tahsis edilir. Oluşturulan nesne arttıkça, hafızadaki alan azalır. Bir süre sonra yeni nesnelerin oluşturulması için alan kalmaz. Hafızada birçok çöp veri birikir. Bu noktada Garbage Collector devreye girer. Garbage Collector artık kullanılmayan nesneleri bulur ve onları hafızadan temizler. Yeni nesnelerin oluşturulması için yer açar. C# ve Java'da hafıza yönetimi Garbage Collector tarafından gerçekleştirilir. C dilinde malloc ve free metodları programcı tarafından gerçekleştirilmelidir.

ORM Nedir?

ORM(Object Relational Mapping) veri tabanımızdaki tabloları sınıflara, kolonları özelliklere, tablonun içindeki kayıtları nesnelere dönüştüren ve tüm bu dönüşüm sonucunda sınıflar ve nesneler üzerinden veri tabanı işlemlerimizi yapmamızı sağlayan çatılardır(framework). Java için ORM çatıları; Hibernate JPA Apache Cayanne gibi C# için ORM çatıları; Entity Framework NHibarnate .NET Persistence