Strategy ნიმუში განსაზღვრავს ურთიერთშემცვლელი ალგორითმების/ქცევების ოჯახს, ინკაფსულირებს თითოეულს და მათ სამუშაო დროს შემცვლელად აქცევს. ის საშუალებას გაძლევთ ალგორითმი დინამიკურად აირჩიოთ და თავიდან აიცილოთ რთული პირობითი ოპერატორები, რაც ხელს შეუწყობს მოქნილი, გაფართოვებული კოდის წერას.
Strategy ნიმუში რას აკეთებს
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)
