# Tasarım Deseni

Adres: https://softwaredictionary.org/tr/terimler/design-pattern
Kategori: Yazılım Mimarisi
Son güncelleme: 2026-09-29
İngilizcesi: Design Pattern
Türkçe karşılığı: tasarım kalıbı
Okunuşu: dizayn petırn

Kısaca: Tasarım deseni, yazılım tasarımında sık görülen bir soruna kanıtlanmış, yeniden kullanılabilir çözümdür; hazır kod değil, genel bir şablon olarak anlatılır.

## Tasarım deseni nedir?

Tasarım deseni, tekrar tekrar karşımıza çıkan bir sorunu çözmek için kodu düzenlemenin adı konmuş, iyice sınanmış bir yoludur. Bir kütüphane ya da kopyalayıp yapıştırdığınız bir kod parçası değildir; fikrin, işin içindeki parçaların ve verilen ödünlerin tarifidir. Singleton ya da Observer gibi ortak adlar sayesinde geliştiriciler koca bir tasarımı tek bir sözcükle anlatabilir.

Klasik desenler, dört yazarı Gang of Four (Dörtlü Çete) olarak anılan 1994 tarihli Design Patterns kitabıyla yaygınlaşmış ve üç aileye ayrılmıştır. Factory ve Builder gibi oluşturucu (creational) desenler nesnelerin nasıl yaratılacağıyla, Adapter ve Decorator gibi yapısal (structural) desenler nesnelerin nasıl bir araya getirileceğiyle, Observer ve Strategy gibi davranışsal (behavioral) desenler ise nesnelerin birbirleriyle nasıl iletişim kuracağıyla ilgilenir.

Günlük hayattan bir benzetme, denenmiş bir mutfak düzenidir: her mutfak farklıdır ama evye, ocak ve buzdolabının denenmiş yerleşimi defalarca yeniden kullanılabilir. Desenler sınıflar ve nesnelerle de sınırlı değildir; ön yüz framework'lerinde, dağıtık sistemlerde ve MVC gibi mimari desenlerle uygulama düzeyinde de karşımıza çıkar.

Tasarım deseni algoritmadan farklıdır. Algoritma bir sonucu hesaplayan kesin bir adım dizisidir; desen ise kodu düzenlemenin esnek bir yoludur. Gerekmeyen yerde desen kullanmak karmaşıklık ekler; bu yüzden desenler kendi başına uygulanmamalı, gerçek bir sorunu çözmelidir.

## Önemli noktalar

- Tasarım deseni, hazır kod değil, yeniden kullanılabilir bir çözüm şablonudur.
- Klasik desenler oluşturucu, yapısal ya da davranışsal olarak gruplanır.
- Desen adları geliştiricilere ortak bir söz dağarcığı sağlar.
- Desenleri aşırı kullanmak basit kodu gereksiz yere karmaşıklaştırabilir.

## Örnek: TypeScript'te Strategy deseni

```typescript
// Strategy: swap an algorithm without changing the code that uses it
interface ShippingStrategy {
  cost(weightKg: number): number;
}

const standard: ShippingStrategy = { cost: (kg) => 5 + kg };
const express: ShippingStrategy = { cost: (kg) => 15 + kg * 2 };

function checkout(weightKg: number, shipping: ShippingStrategy) {
  return shipping.cost(weightKg);
}

console.log(checkout(3, standard)); // 8
console.log(checkout(3, express));  // 21
```

## Sık sorulan sorular

**En yaygın tasarım desenleri nelerdir?**

Sık kullanılan desenler arasında Singleton, Factory, Builder, Adapter, Decorator, Observer ve Strategy bulunur. Çoğu modern dillere ve framework'lere yerleşik olduğu için farkında olmadan kullanırsınız; örneğin olay dinleyicileri (event listener) Observer desenini izler.

**Tasarım desenleri bugün hâlâ geçerli mi?**

Evet. Modern dil özellikleri bazı desenleri basitleştirmiş ya da gereksiz kılmış olsa da altta yatan fikirler ve ortak söz dağarcığı kod tabanlarında, framework'lerde ve teknik mülakatlarda hâlâ yaygın olarak kullanılır.

**Tasarım deseni ile mimari desen arasındaki fark nedir?**

Tasarım deseni, birkaç sınıfın birlikte nasıl çalışacağı gibi kod tabanının tek bir bölümündeki sorunu çözer. MVC ya da mikroservisler gibi mimari desen ise bütün bir uygulamanın veya sistemin yapısını belirler.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
