Veysel Uğur KIZMAZ

Design Pattern Nedir

04.03.2013Okunma Sayısı: 21975Kategori: Yazılım Mühendisliği
Uzun süredir gerek katıldığım seminerlerde, gerek kitabımda, gerekse birebir sohbetlerde fırsat buldukça değindiğim bir konu vardır: Yazılım, sadece kod yazmak değildir.

Yazılım geliştiriciler küçük çaplı yazılımları (örn: web sitesi, az kişinin kullandığı web projeleri, oto kiralama otomasyonunu) kolaylıkla geliştirebilirler. Bu uygulamaların kullanıcı sayıları ve barındırdıkları veriler çok fazla olmadığından arkaplanda nasıl bir kodlamaya sahip olduğu çok önemsenmez. Fakat büyük çaplı projelerde (örn: E-devlet, HepsiBurada.com, devlet kurumlarının portal sistemleri veya kurum için uygulamaları vs) çok rahat kod yazamazsınız. Bu tür projelerde projenin çalışmasından çok şu konular önem sağlamaktadır

  • Uygulamanın çalışma performansı
  • Proje web üzerinden binlerce/milyonlarca kişiye açıldığındaki performansı
  • Uygulamanın güvenliği
  • İleride yapılacak değişikliklerde kodlamada karmaşaya yol açmama ve esnek bir yapıya sahip olması

Bu tür projelerde yukarıda yer alan maddeler gibi öncelikle performansı ve kod karmaşıklığını engelleyecek yöntemlere ihtiyaç duyulacaktır. İşte bu noktada design pattern (tasarım deseni) kavramı devreye girmektedir.

Design Pattern Nedir?


Yazılım geliştirme sürecinde kodların yeniden kullanılabilirliğini sağlama, ortaya çıkan yazılımsal sorunları çözme ve bu çözümlerin standartlar haline getirip yeniden kullanılabilir şekilde kodlanması sonucu oluşan sisteme Design Pattern (tasarım şablonu) denir. Tasarım şablonları, yazılım geliştiricilerin karşılaştıkları sorunlar karşısında zaman içerisinde ürettikleri çözümler ele alınarak ortaya çıkartılan standart ve en uygun çözüm yöntemidir.  Bu yöntemler tüm yazılım geliştiriciler tarafından kullanılabilirler.

Neden Design Pattern Kullanılmalıdır?


Tüm yazılım geliştiriciler bir sorun için aynı yöntemi (standart tasarım desenini) kullanırlarsa ve bunu alışkanlık haline getirirlerse, tasarım şablonlarının kullanıldığı herhangi bir projeyi ele aldıklarında kodları kolaylıkla çözebilmektedirler. Bu da genel anlamda geliştirilen yazılımı hem belirli standartlara uygun hale getirir hem performansını artırır hem de projeyi gereksiz kodlamalardan kurtarır.

Design Patterns


Dünya genelinde 250’den fazla tasarım deseni bulunmaktadır. Fakat bunlardan sadece 23 tanesi standart olarak kabul edilmiştir.

Behavioral Patterns
  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor
Creational Patterns
  • Abstract Factory
  • Builder
  • Factory Method
  • Prototype
  • Singleton
Structoral Patterns
  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy

İlerleyen makalelerde standart olarak kabul edilen bu 23 tasarım desenini örnek uygulamalarla detaylı olarak inceleyeceğiz.
 
 
Yepyeni makalelerde görüşmek dileğiyle :)
 
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com