Kategorien: Alle - контекст - объект - стратегия - метод

von Иван Жуков Vor 1 Tag

6

Паттерн Стратегия

Использование паттерна стратегии позволяет изменять поведение объекта во время выполнения программы. Основной класс, называемый контекстом, делегирует выполнение метода стратегии, которая хранится в отдельном поле и может быть изменена.

Паттерн Стратегия

Паттерн Стратегия

Выбор метода в основной программе (Под основной программой автор имеет ввиду метод main() со всей реализацией интерфейсов, классов, методов и другого)

Позволяет легко управлять поведением объекта без изменения его кода.
Можно менять стратегию на лету, вызывая соответствующий метод.
В Main() создаем объект и назначаем ему стратегию.

Создаем контекст по которому для реализации патерна

Позволяет динамически изменять поведение объекта в процессе работы программы.
В классе есть поле для хранения стратегии и методы для ее изменения.
Контекст (основной класс) использует стратегию и делегирует ей выполнение метода.

Реализуем отдельные классы и в них методы с одинаковыми именами, но разными реализациями в зависимости от логики программы

Можно добавлять новые стратегии без изменения существующего кода.
В каждом классе прописывается своя версия метода.
Создаем классы, которые реализуют интерфейс.

Создание интерфейса, от которого мы производим наследование

Каждый интерфейс отвечает за отдельное поведение (например, кряканье, полет, ходьбу).
Интерфейс позволяет легко заменять алгоритмы без изменения основного кода.
Определяем интерфейс, содержащий метод, который будут реализовывать разные стратегии.