Design Patterns - Tasarım Kalıpları
Design Patterns - Tasarım Kalıpları
Last updated
Was this helpful?
Design Patterns - Tasarım Kalıpları
Last updated
Was this helpful?
Yazılım mühendisliğinde, bir tasarım kalıbı yazılım tasarımında sıkça yaşanan bir sorunun genel, tekrarlanabilir bir çözümüdür. Bir tasarım kalıbı doğrudan koda çevrilebilen, bitmiş bir tasarım değildir. Birçok farklı durumda kullanılabilen, bir sorunun nasıl çözüleceğinin bir tanımı veya şablonudur.
Yazılım geliştiricilerin belirli yapıların iyi bilinen isimleriyle iletişimde bulunmasını da sağlar.
Bu tasarım kalıpları sınıflardan nesne oluşturmayla ilgilidir. Bu kalıplar ikiye ayrılabilir: sınıf oluşturma kalıpları ve nesne oluşturma kalıpları. Sınıf-oluşturma kalıpları kalıtımı etkin olarak kullanırken, nesne-oluşturma kalıpları delegasyonu etkin bir şekilde kullanır.
Çeşitli sınıf aileleri için örnek yaratır.
Nesne oluşturmayı, nesnenin sunumundan ayırır.
Çeşitli türemiş sınıflardan bir örnek yaratır.
Pahalı edinimlerden kaçınıır ve kullanılmayan nesneleri geri dönüştürerek kaynakları serbest bırakır.
Kopyalanacak veya klonlanacak bir sınıf örneği
Sadece bir örneği varolan bir sınıf
Bu tasarım kalıpları Sınıf ve Nesne kompozisyonuyla ilgilidir. Yapısal nesne-yaratma kalıpları arayüzleri oluşturmak için kalıtım kullanır. Yapısal nesne kalıpları yeni işlevsellik edinmek için nesneleri biraraya getirmek (compose) için gereken yolları tanımlar.
Bu tasarım kalıpları nesnelerin arasındaki iletişimi hakkındadır.
Farklı sınıfların arayüzlerini eşleştirir.
Bir nesnenin arayüzünü implementasyonundan ayırır.
Basit ve kompozit nesneler için bir ağaç yapısı.
Nesnelere dinamik olarak sorumluluk ekler.
Bütün bir altsistemi temsil eden bir nesne.
Verimli paylaşım için küçültülmüş bir örnek.
Erişim ve değiştirme erişimini kısıtlar.
Başka bir nesneyi temsil eden bir nesne.
Bir nesne zinciri arasında istek geçirmenin bir yolu.
Komut nesnesini bir nesne olarak enkapsüle eder.
Bir programda dil öğelerini dahil etmenin bir yolu.
Bir kolleksiyonun elemanlarına sırayla erişir.
Sınıflar arasında basitleştirilmiş bir iletişim tanımlar.
Bir nesnenin dahili durumunu ele geçirir ve yeniden o duruma dönmesini sağlar.
Bir nesnenin varsayılan değeri gibi davranmak için tasarlanır.
Bir grup sınıfa değişimi bildirmenin bir yolu.
Bir nesnenin durumu değişince davranışını değiştirir.
Bir sınıfın içinde bir algoritma enkapsüle eder.
Bir algoritmanın asıl adımlarını alt sınıfa bırakır.
Bir sınıf değişmeden, o sınıfa yeni bir operasyon tanımlar.