ProghubPH

Паттерн Strategy имеет следующие преимущества:

 несколько вариантов
Позволяет переключаться между алгоритмами во время выполнения программы.
Отделяет алгоритм от класса, в котором он используется.
Гарантирует использование единственной стратегии во время выполнения программы.
Предоставляет разделение между моделью и представлением.