Продолжение, начало здесь. Контексту нужна ссылка на экземпляр стратегии, которую он будет выполнять. Стратегии нужна ссылка на контекст, из которого она будет брать параметры необходимые для выполнения. Чтобы не тащить сеттер контекста в стратегии в её интерфейс, родилась реализация через промежуточный абстрактный класс