Ключевое отличие в назначении и поведении:
Сравнительная таблица:
| Характеристика | Стратегия (Strategy) | Состояние (State) |
|---|---|---|
| Назначение | Выбор алгоритма поведения. | Изменение поведения объекта в зависимости от состояния. |
| Изменение | Клиент явно выбирает и устанавливает стратегию. | Объект сам переходит между состояниями, меняя поведение. |
| Отношения | Слабая связь между контекстом и конкретной стратегией. | Сильная связь между контекстом и состоянием. |
| Фокус | Алгоритм, используемый объектом. | Состояние объекта, которое определяет его поведение. |
| Переходы | Переключение стратегии происходит явно. | Переключение состояний происходит в ответ на события. |
| Пример | Различные алгоритмы сортировки. | Состояния светофора (красный, желтый, зеленый). |
java
java