Pola Strategy mendefinisikan keluarga algoritma/perilaku yang dapat saling ditukar, merangkum masing-masing, dan membuatnya dapat ditukar saat runtime. Ini memungkinkan Anda memilih algoritma secara dinamis dan menghindari kondisional kompleks, mempromosikan kode yang fleksibel dan dapat diperluas.
Apa yang dilakukan pola 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)
