Найти тему
using Dev

Стратегия C#

Оглавление

Паттерн "Стратегия" (Strategy) — это поведенческий шаблон проектирования, который определяет семейство алгоритмов, инкапсулирует каждый из них и делает их взаимозаменяемыми. Паттерн позволяет выбирать алгоритм во время выполнения программы. Это достигается за счет определения интерфейса для всех поддерживаемых алгоритмов и реализации каждого из них отдельно. Клиентский код может использовать эти алгоритмы без знания о конкретных реализациях, что обеспечивает гибкость и расширяемость системы.

Применение в общем виде

Паттерн "Стратегия" используется в следующих случаях:

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

Пример

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

Создадим интерфейс IReader.

-2

Далее создадим класс ResourceReader

-3

Создадим конкретные классы Reader -s представляющие из себя различные стратегии чтения из различных источников информации.

-4

Рассмотрим применение

-5

Результат

-6