12 Şubat 2014 Çarşamba

Tasarım Kalıpları nedir?

Tasarım kalıpları, yazılım tasarımında sürekli karşılaşılan genel sorunlara esnek, yeniden kullanılabilir, başarılı çözümler getiren bir takım hazır kalıplardır. Hazır olarak kodun içine konulup çalışabilen, bitmiş tasarımlar değildir. Çeşitli durumlarda sorunların nasıl giderileceğini açıklayan, bunlara yol gösteren açıklamalardır. Nesneye dayalı programlamada, tasarım desenleri sınıf ve nesneler arasındaki ilişkilerin en iyi şekilde nasıl olmaları gerektiğini açıklayan yöntemlerdir. Algoritmalar, tasarım deseni değildir. Çünkü bunlar hesaplama sorunlarına çözüm getirirler, oysaki tasarım desenleri yazılım tasarımı sorunlarıyla ilgilenir. [1]

Tasarım kalıpları kısaca...

  • Yazılım tasarımında karşılaşılan belirli sorunların yalın ve güzel çözümlerinin tarifi
  • Deneyimin yazılı biçime gelmiş hali
  • Ortak bir sözlük
  • Somut bir gerçekleme ya da soyut bir tarif


Bir tasarım kalıbının ana bileşenleri
  • İsim
  • Sorun : Kalıbın çözdüğü sorunun tarifi
  • Çözüm : Tasarımın bileşenleri, bileşenlerin ilişkileri, sorumlulukları
  • Tartışma/Sonuçlar : Güçlü ve zayıf yönleri, başka kalıplar ile kullanımı vs..

GoF (Gang of Four) Tasarım Kalıpları
  • Oluşumsal (Creational) : Nesnelerin oluşturulması, temsili ve ilişkilendirilmelerindeki bağımlılığı azaltmaya yönelik kalıplar
  • Biçimsel (Structural) : Sınıflar ve nesnelerin bir araya getirilerek daha büyük yapılar elde edilmesine yönelik kalıplar
  • Davranışsal (Behavioral) : Sorumlulukların nesnelere dağıtılması ve algoritma seçimine yönelik kalıplar



[1] Nedir Tasarım Desenleri?, 12/2/2014, http://www.tasarimdesenleri.com/