Tasarım geliştiricilerin bir tasarım deseni doğrudan koda dönüştürülebilen bitmiş bir tasarım değildir. Pek çok farklı durumda kullanılabilecek bir problemin nasıl çözüleceği ile ilgili bir açıklama veya şablondur. Nesne yönelimli programlamada, bir desen, belirli nesnelerin ve kullanılacak nesne sınıflarının, özniteliklerinin ve bağımlılıklarının yanı sıra, sorunun nasıl çözüleceği konusunda genel bir yaklaşım içerebilir. Çoğu zaman, programcılar belirli bir sorunu çözmek için birden fazla desen kullanabilir. Desen koleksiyonuna bir desen çerçevesi denir.

Tasarım kalıpları, test edilmiş , kanıtlanmış geliştirme paradigmaları sağlayarak geliştirme sürecini hızlandırabilir. Etkili yazılım tasarımı , daha önceden kimsenin göremediği sorunları göz önünde bulundurmayı gerektirir. Böyle olduğunda tasarım daha etkili olur. Tasarım kalıplarını yeniden kullanmak ise büyük sorunlara neden olabilecek ince sorunları önlemeye yardımcı olur ve kodlayıcıları ve mimarları tanıyan kodlayıcıların kod okunabilirliğini geliştirir.

“Gang of Four”; Eric Gamma,  Richard Helm, Ralph Johnson ve John Vlissides 1990’ların başında “Design Pattern: Element of Reusable Object – Oriented Software” kitabını çıkardılar ve bu dörtlü “Gang of Four” olarak da bilinirler.

Tasarım desenleri 2 şeye bağlıdır. Sürdürülebilirlik , Tekrar kullanılabilirlik ve esneklik. Yazılan kodlar bu iki hususa bağlı olarak yazılmış ise iyi bir yazılım uygulanmış denebilir.

Tasarım desenleri 3 ana başlık üzerine kuruludur. Bunlar; Creational , Structural ve Behavioral.

Creational Kalıplar

Bu tasarım desenleri, sınıf örneği ile ilgilidir. Bu desen, sınıf oluşturma desenleri ve nesne oluşturma desenlerine daha da ayrılabilir. Sınıf oluşturma desenleri, örnek oluşturma işleminde devralmayı etkin bir şekilde kullanırken, nesne oluşturma desenleri işi yapmak için Delegasyonu etkili bir şekilde kullanır.

 

Structural Patterns(Yapısal)

Bu tasarım desenleri sınıf ve nesne kompozisyonu ile ilgilidir. Yapısal sınıf oluşturma kalıpları arabirimleri oluşturmak için devralma kullanın. Structural object-desenler, yeni işlevsellik elde etmek için nesneleri oluşturmanın yollarını tanımlar.

Behavioral Patterns

Bu tasarım desenleri, sınıfın nesneleri iletişimiyle ilgilidir. Davranışsal desenler, nesneler arasındaki iletişimle en çok ilgilenen kalıplardır. 

Bu yazımda Pattern design’ın genel yapısından bahsettim. Bir sonraki yazımda Tasarım desenlerin her birinden detaylıca  bahsedeceğim. Takipte kalın.