Мне нужна помощь в дизайне. У меня есть класс, назовем его космическим кораблем, который может реализовать несколько вариантов поведения. Я определил интерфейс для объявления операций, поддерживаемых каждым поведением. До сих пор это классический образец стратегии.
Однако реализованные стратегии должны иметь возможность вызывать действия и методы в классе контекста. Я думал о передаче контекста как самого интерфейса для инкапсулированных алгоритмов.
Это лучший подход? Если нет, то что бы вы порекомендовали?