Шаблон стратегии Java - PullRequest
0 голосов
/ 21 мая 2018

У меня есть вопрос относительно шаблона стратегии в Java.На первой диаграмме мы видим определение паттерна Стратегия.Контекст состоит из интерфейса Стратегии. Контекст может быть любым, что потребует изменения поведения - класс, который, возможно, предоставляет функции сортировки.

Стратегия просто реализована как интерфейс, так что мы можем включать и выключать ConcreteStrategys, не влияя на наш Контекст.

Normal strategy pattern Strategy pattern

Теперь давайте посмотрим на вторую диаграмму,.Предположим, мы используем шаблон стратегии.Классы ConcreteStrategyA и ConcreteStrategyB должны вызывать клиента для выполнения алгоритма, который они реализуют.

Любая причина, почему вам нужен интерфейс Client Interface?

1 Ответ

0 голосов
/ 01 июня 2018

Возможно, вы захотите работать с интерфейсом, чтобы позволить клиенту быть смоделированным во время модульного тестирования или удалить зависимость от конкретной реализации клиента из ваших конкретных стратегий.

...