System Overview - Strategy pattern
The Strategy pattern allows a system to select an algorithm's behavior at runtime. It defines a family of algorithms, encapsulates each one, and makes them interchangeable. This helps in changing the algorithm independently from clients that use it.
