Design Patterns / Tasarım Desenleri nedir?
Yazan Evren BalYayın tarihi · 2 dk okuma

Sayfayı kopyala
Bu içerik ağırlıklı olarak refactoring.guru sitesindeki içeriğin tercümesi ve derlenmesinden oluşturulmuştur. Başka kaynaklardan da ek bilgiler içerebilir.
Alexander Shvets, bu çeviri ve derlemelerin evrenbal.com’da yayımlanmaya devam etmesine 4 Mart 2024 tarihinde yazılı izin vermiştir. Bu izin, bu içeriklere dayanılarak hazırlanacak yeni türev yayınları kapsamaz.
Tasarım Desenleri nedir?
Tasarım Desenleri (veya bir diğer kullanımla tasarım kalıpları) yazılımda sık karşılaşılan problemler için oluşturulmuş çözümlerdir. Kodunuz içerisinde sıklıkla karşılaşılan sorunları çözmek için özelleştirerek kullanabileceğiniz önceden hazırlanmış planlar olarak düşünebilirsiniz. Tasarım kalıpları bir fonksiyon, ya da sınıf gibi hazır olarak bulup kodunuza ekleyebileceğiniz parçalar değil, prorblem çözümü için kullanılan genel konseptlerdir.
Her ikiside bilinen problemleri çözmek için üretilmiş tipik çözümler olduğundan tasarım desenleri genelde algoritmalarla karıştırılır. Algoritmalar bir hedefe ulaşabilecek net bir eylemler kümesi tanımlarken, tasarım desenleri bir çözümün daha üst düzey bir tanımıdır. Aynı desenin iki farklı programa uygulanan kodu farklı olabilir.
Bir algoritmayı yemek tarifine benzetebiliriz. Kullanılacak malzemeler ve takip edilecek adımlar net olarak bellidir. Öte yandan bir tasarım kalıbı daha çok bir plan gibidir, sonuçta bekleneni ve özellikleri görürsünüz ama uygulama sırası ve şekli biraz daha size bağlıdır.
Tasarım deseni çeşitleri nelerdir?
Tasarım desenleri karmaşıklığı, detay düzeyleri ve tasarlanan sistemin ne kadarına uygulanabileceğine bağlı olarak değişiklik gösterirler.
En basit ve alt düzey kalıplar deyimler 'idoms' olarak adlandırılır. Bunlar genellikle belirli bir programla diline özeldir.
Daha evrensel ve üst seviye olan desenler ise mimari desenler ('architectural patterns') olarak adlandırılır. Bu desenler teorik olarak herhangi bir programlama diline uygulanabilir. Diğer desenlerin aksine uygulamanın tamamının yapısını tasarlamaya olanak sağlarlar.
Kullanım Amaçlarına Göre Tasarım Desenleri / Design Patterns
Yazının devamında tasrım desenleri isimlerini ingilizce olarak kullanacağım. Fazlasıyla teknik terimler olduğu için Türkçe karşılıkları anlaşılır/mantıklı olmuyor.
Yaratımsal Desenler (Creational Patterns)
Yapısal Desenler (Structural Patterns)
Davranışsal Desenler (Behavioral Patterns)
Bu yazıyı faydalı bulduysanız
Web sitenizde ilgili bir içerikten bu yazıya bağlantı vermeniz ya da sosyal medyada paylaşmanız, daha fazla kişiye ulaşmasına gerçekten yardımcı olur. Desteğiniz için teşekkür ederim.
Bağlantı ve marka kullanım rehberi →Bu yazı hakkında
Yeniden kullanım ve haklar
Özel bir izin belirtilmedikçe tüm hakları saklıdır. — Refactoring.Guru kaynaklı çeviri ve derleme, Alexander Shvets'in 4 Mart 2024 tarihli yazılı izniyle bu blogda yayımlanmaktadır; izin yeni türev yayınları kapsamaz.
