Design Pattern Nedir?


Design Pattern Nedir?

Design Patter Nedir?

Design Pattern türkçe hali ile Tasarım Kalıpları kod yazdığımız dilde karşılaştığımız bir probleme çözüm olmak için insanlar tarafından geliştirilmiş oldukça optimum kod kalıplarıdır.

Tasarım kalıpları oyun alanından tutun mobil uygulamalara kadar hatta web tasarımına kadar bir çok alanda biz yazılımcıların işlerini kolaylaştırmaktadır ve karşılaştığımız yazılımsal sorunlara çözümler üretmekte veya üreteceğimiz çözümler için yardımcı olmaktadır.

Tasarım Kalıplarının temelleri 1970 yılında ortaya çıkmıştır ancak 1994 yılında Gang of Four tarafından yayımlanan GoF Design Patterns isimli kitap ile popülerleşmiştir, bu kitapta 23 adet tasarım kalıbı konu alınmıştır.

Günümüzde 23 den çok daha fazla kalıp bulunmaktadır ve hatta sizler de bir soruna çözüm bulan kendi çözümünüzü ürettiğiniz ve bunu en optimal hale getirip birden fazla projede kullanabildiğiniz durumda aslında kendi tasarım kalıbınızı oluşturmuş olursunuz.

Tasarım Kalıbına Neden İhtiyaç Duyarız?

  • Tasarım Kalıpları, test edilmiş, kanıtlanmış geliştirme paradigmaları sağlayarak geliştirme sürecini hızlandırabilir.
  • Kodunuzu, daha basit tutmak gerektiğinde kodu daha anlamlı ve daha az karmaşık hale getirmeye yardımcı olurlar. 
  • Büyük sorunlara neden olabilecek ince sorunları önlemeye yardımcı olur ve ayrıca kod okunabilirliğini artırır.
  • Ortak bir programlama sorununa karşı standart bir çözüm işlemi, yazılımın büyük ölçekte yeniden kullanılmasını sağlar.

Tasarım Kalıplarının Kategorize Edilmesi

Tasarım kalıpları çözdükleri problemlerin başlığına göre 3 kategoriye ayrılırlar, bunlar;
  • Creational Patterns (Yaratımsal Kalıplar): Nesnelerin oluşturulmasında ve yönetilmesinde kullanılan bir desendir. Bu program akışında hangi nesneye ihtiyaç varsa onu oluşturmada esneklik ve kolaylık sağlar.
  • Structural Patterns (Yapısal Kalıplar): Birden fazla sınıfın bir işi yerine getirirken nasıl davranacağını belirlemek için kullanılan desenlerdir. 
  • Behavioral Patterns (Davranışsal Kalıplar): Nesnelerin birbirleri ile ilişkisini düzenleyen desendir.

Tasarım Kalıplarına Örnekler

Creational Patterns (Yaratımsal Kalıplar)

  • Singleton Pattern
  • Factory Pattern
  • Abstract Factory Pattern
  • Builder Pattern
  • Prototype Pattern

Structural Patterns (Yapısal Kalıplar)

  • Adapter Pattern
  • Bridge Pattern
  • Filter Pattern
  • Composite Pattern
  • Decorator Pattern
  • Facade Pattern
  • Flyweight Pattern
  • Proxy Pattern

Behavioral Patterns (Davranışsal Kalıplar)

  • Command Pattern
  • Interpreter Pattern
  • Iterator Pattern
  • Mediator Pattern
  • Memento Pattern
  • Observer Pattern
  • Null Object Pattern
  • Strategy Pattern
  • State Pattern
  • Visitor Pattern