Skip to content

Latest commit

 

History

History
 
 
Стратегия — это поведенческий паттерн, выносит набор алгоритмов в собственные классы и делает их взаимозаменимыми.

Другие объекты содержат ссылку на объект-стратегию и делегируют ей работу.
Программа может подменить этот объект другим, если требуется иной способ решения задачи.

В данном примере Стратегии реализуют классы:
OppositeHuman
OppositeOrcs
OppositeUndead
Имплементирующие интерфейс
IDefenceStrategy

В зависимости от выбора пользователя в методе Main
Выбирается стратегия защиты NightElfBase с помощью ее метода enemyDetected()
И ссылке IDefenceStrategy присваивается конкретный тип стратегии