Приветствую читателей. В этом посте хотел бы показать две реализации паттерна «Стратегия». Один способ на основе наследования, другой на основе шаблонного класса. Итак приступим. Сначала разберемся, что же такое паттерн «Стратегия»? К этому обратимся в википедию и вот что она говорит:
> **Стратегия**
>
> — поведенческий шаблон проектирования, предназначенный для определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости. Это позволяет выбирать алгоритм путем определения соответствующего класса. Шаблон Strategy позволяет менять выбранный алгоритм независимо от объектов-клиентов, которые его используют.
>
>
Так выглядит схема паттерна: ![][1] [Читать дальше →][2]
[1]: //habrastorage.org/files/b1e/052/879/b1e052879ada4c38a4c3d027d9f51002.PNG
[2]:
http://habrahabr.ru/post/250041/#habracut