Files
DesignPatternsPHP/Behavioral/Strategy/README.md
Antonio Spinelli e59d70a0ac start a restructure
2014-03-21 18:03:45 -03:00

17 lines
416 B
Markdown

# Strategy
## Terminology:
* Context
* Strategy
* Concrete Strategy
## Purpose
To separate strategies and to enable fast switching between them. Also this pattern is a good alternative to inheritance (instead of having an abstract class that is extended).
## Examples
* sorting a list of objects, one strategy by date, the other by id
* simplify unit testing: e.g. switching between file and in-memory storage