Skip to content

Latest commit

 

History

History
49 lines (35 loc) · 1.93 KB

Design Patterns.md

File metadata and controls

49 lines (35 loc) · 1.93 KB

Design Patterns

Tasarım desenleri, sıkça karşılaşılan ve birbirine benzeyen sorunları çözmek için geliştirilmiş esnek kalıplardır.

Programlama dili gözetmeksizin; sınıf ve nesneler arasındaki ilişkilerin en iyi şekilde nasıl olmaları gerektiğini açıklayan yöntemlerdir. Kısaca aklın yolu bir diyerek uyguladığımız hazır çözümlerdir.

Tasarım desenlerini 3 ana başlıkta değerlendiririz;

1. Oluşturucu(Creational) tasarım desenleri

Nesnelerin nasl yaratılacağı hakkında öneriler sunar.

  • Abstract Factory (Soyut Fabrika)
  • Builder (Kurulum)
  • Factory (Fabrika)
  • Factory Method (Fabrika Metodu)
  • Prototype (Prototip)
  • Singleton (Tek Nesne)

2. Yapısal(Structual) tasarım desenleri

Sınıflar arasındaki ilişkileri belirleme önerileri sunar, Nasıl türetilmeli, hangi nesneleri içermeli, sınıflar birbirlerini nasıl bağlı olmalı gibi soruların cevaplarını yanıtlar.

  • Adapter (Adaptör)
  • Bridge (Köprü)
  • Composite (Ağaç Yapısı)
  • Decorator (Dekorasyon)
  • Facade (Ön Yüz)
  • Flyweight (Sinek Siklet)
  • Proxy (Vekil)

3. Davranışsal tasarım desenleri

Soruna göre nesneler arası ortak haberleşmeyi en iyi şekilde kurmamıza öneriler sunar.

  • Chain of Responsibility (Sorumluluk Zinciri)
  • Command (Komut)
  • Interpreter (Yorumlayıcı)
  • Iterator (Tekrarlayıcı)
  • Mediator (Arabulucu)
  • Observer (Gözlemci)
  • State (Durum)
  • Strategy (Strateji)
  • Template Method (Şablon Metodu)
  • Visitor (Ziyaretçi)

Tasarım desenleri bize ne sağlar?

Hepimiz bir şey kodlarken gözümüzden kaçan, yada o an hatırlayamadığımız ve ileride bize sorun teşkil edecek hatalar yapabiliriz. İlk başta bunu engeller. Ortak bir dil konuştuğumuz için özellikle takım çalışmalarında büyük kolaylık sağlar. Bir koda baktığınızda "bu adam hangi kafayla bunu yazmış?" sorununu çözer.