Tasarım Deseni (Design Pattern) Nedir? Neden kullanmalıyız?

Tasar?m desenleri -design pattern olarak an?l?rlar genelde-yaz?l?m tasar?m? sürecinde sürekli kar??la??lan problemlere tecrübeler do?rultusunda kaliteli çözümler üreten haz?r kal?plard?r. ?stenilen yere gömüp çal??an haz?r tasar?mlar de?ildirler. Asl?nda problemlere getirilen çözümlere yap?lan aç?klamalard?r.

Nesneye yönelik programlama prensipleri do?rultusunda olu?turulan s?n?flar?n ba?ka s?n?flara ba??ml?l???n?n en az olmas? beklenir. Bu durum beraberinde esnek yap?y? getirir ve yaz?l?m?m?z?n kalitesini art?r?r. ?leride gerekecek geni?lemelere daha müsait bir yap? sa?lam?? olursunuz ve yapaca??n?z de?i?ikliklerde daha rahat edersiniz. Bu yap?, yaz?l?mc?ya ve o yaz?l?mc?dan sonra gelecek yaz?l?mc?ya zamandan ve i? gücünden ciddi manada tasarruf sa?lar.

1994 y?l?nda Gang of Four (dörtlü çete) olarak tan?nan “Erich Gamma”, “Richard Helm”, “Ralph Johnson” ve “John Vlissides” isimli yazarlar,  sektörde en çok kullan?lan 23 desene yer verdikleri bir kitap piyasaya ç?kard?lar. Kitab? merak edenler buradan görebilirler. Piyasada bulman?z mümkün olmayabilir belki ama üniversite kütüphanelerinde çevrimiçi olarak en az?ndan kitab?n bir k?sm?na eri?meniz mümkün.

Hem desenlerle ilgili hem de kitap ile ilgili daha detayl? bilgiye buradan ula?abilirsiniz.

Geçti?imiz günlerde (6 Temmuz 2013) düzenlenen PHP-ist Konferans?’nda da ?brahim Gündüz, bu konuya de?inmi?ti. Sunumu esnas?nda kulland??? slayta da ?uradan ula?abilirsiniz. Çok merak ediyor ve bu konu üzerinde ciddi kafa yoruyorsan?z o konferans?n video kayd? da daha sonradan yay?nland?. Merak etti?inizi, izlemek isteyebilece?inizi dü?ünerek onun da linkini payla?mak isterim.

Tasar?m ?ablonlar? a?a??da yer alan ortak özelliklere sahiptir:

  • Edinilen tecrübeler sonunda ortaya ç?km??lard?r.
  • Tekerin tekrar icat edilmesini önlerler.
  • Tekrar kullan?labilir kal?plard?r.
  • Ortak kullan?larak daha büyük problemlerin çözülmesine katk? sa?larlar.
  • Devaml? geli?tirilerek, genel bir çözüm olmalar? için çaba sarfedilir.

Tasar?m ?ablonlar? de?i?ik kategorilere ayr?l?r. Bunlar:

  • Olu?turucu tasar?m ?ablonlar? (creational patterns)
  • Yap?sal tasar?m ?ablonlar? (structual patterns)
  • Davran??sal tasar?m ?ablonlar (behavioral patterns)

Olu?turucular

  • Abstract Factory (soyut fabrika)
  •  Builder (in?aatçi)
  •  Factory Method (fabrika)
  •  Prototype  (prototip)
  • Singleton (yanl?zl?k)

Yap?sal

  • Adapter
  • Bridge (köprü)
  • Facade (cephe)
  • Decorator (dekotatör)
  • Composite (kompozit)
  • Flyweight (sinek siklet)
  • Proxy (vekil)

Davran??sal

  • Command (komut)
  • Memento (hat?ra)
  • Strategy (strateji)
  • Iterator (tekrarlay?c?)
  • State (durum)
  • Chain Of Responsibility (sorumluluk zinciri)
  • Mediator (arac?)
  • Observer (gözlemci)
  • Template Method (?ablon metot)
  • Visitor (ziyaretçi)

Daha detayl? bilgiyi Google’da yapaca??n?z ara?t?rmalar sonucu bulabilirsiniz. Bu yaz? en az?ndan konuya bir giri? olmas?, kafan?zda bir fikir olu?mas? aç?s?ndan yararl? olabilir.

Bu yazı Programlama kategorisine gönderilmiş ve , , , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Tasarım Deseni (Design Pattern) Nedir? Neden kullanmalıyız? için 2 cevap

  1. Sonraki Yazılımcı der ki:

    Slm,

    Bu makale internette Onur Canalp isimli vatandaşınki ile aynı. Sen mi ondan aldı, yoksa o mu senden? Orjinal olan hanginizinki?

    • Bilal Baraz der ki:

      Kimseyi zan altında bırakmayalım fakat yayınlanma tarihlerine bakarak kendinizce bazı sonuçlara varabilirsiniz. 21 Temmuz 2013 < 20 Aralık 2013 Ben şahsen yararlandığım kaynakları mümkün mertebe yazı sonunda paylaşmaya gayret ediyorum.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir