Strategy pattern The strategy design pattern is designed with fitness for future in mind. If a certain part of code can perform with multiple different implementations, and it is useful to have access to these different implementations, strategy will be useful. Since more strategies can be added at any time, it is fit for the future of the program. What Changes: Changes in implementation of current strategies Addition of new strategies following the same interface What Stays the Same: The shared interface for all strategies does not change, so that outside code can continue to use all strategies interchangeably.