Strategy pattern, birbirinin yerine geçebilen algoritmaları/davranışları tanımlayan, her birini kapsayan ve çalışma zamanında değiştirilebilir kılan bir tasarım desenidir. Runtime'da algoritma seçimini dinamik olarak yapmanızı sağlar, karmaşık koşullu ifadeleri önler ve esnek, genişletilebilir kod yazılmasını destekler.
Strategy pattern ne yapar
STRATEGY → encapsulate INTERCHANGEABLE algorithms/behaviors behind a common interface:
→ define a family of strategies (each implements the same interface)
→ the context uses a strategy via the interface → can SWAP strategies at runtime
→ choose the behavior dynamically without changing the context
→ "compose" behavior instead of hardcoding it (favor composition over conditionals)
