Рет қаралды 1,270
Стратегия - это поведенческий паттерн проектирования, который определяет схожие алгоритмы и помещает каждый из них в собственную структуру, после чего алгоритмы можно взаимозаменять во время исполнения программы.
Одной из самых востребованных функций являлся поиск и прокладывание маршрутов. Пребывая в неизвестный город, пользователь должен иметь возможность указать начальную точку и пункт назначения, а навигатор - проложит оптимальный путь.
Первая версия вашего навигатора могла прокладывать маршрут лишь по дорогам, поэтому отлично подходила для путешествий на автомобиле. Но, очевидно, не все ездят в отпуск на машине. Поэтому следующим шагом вы добавили в навигатор прокладывание пеших маршрутов.
Через некоторое время выяснилось, что люди предпочитают ездить по городу на общественном транспорте. Поэтому вы добавили и такую опцию прокладывания пути.
Вместо того, чтобы изначальный объект сам выполнял тот или иной алгоритм, он будет играть роль контекста, ссылаясь на одну из стратегий и делегируя ей выполнение работы. Чтобы сменить алгоритм, вам будет достаточно подставить в контекст другой объект-стратегию.
ПРИСОЕДИНЯЙСЯ
[✓] Сайт - dta.agency
[✓] ВК - pro.golang
Для чего нужны паттерны проектирования и как с ними работать.
- Студия разработки Intellij idea
- Операционная система Linux
#golang #обучение #паттерны