Паттерн- английское слово, значение которого передается по-русски словами «шаблон», «система», «структура», «принцип», «модель», также это слово имеет значение «узор». Из-за применения термина «паттерн» в различных западных дисциплинах и технологиях в русскоязычную среду оно проникло как специфический термин сразу в нескольких сферах деятельности.
Паттерн в психологии представляет собой набор стереотипических поведенческих реакций или последовательностей действий.
Паттерны поведения связаны с алгоритмами и распределением обязанностей между объектами. Речь в них идет не только о самих объектах и классах, но и о типичных способах взаимодействия. Паттерны поведения характеризуют сложный поток управления, который трудно проследить во время выполнения программы. Внимание акцентировано не на потоке управления как таковом, а на связях между объектами во время выполнения.
В паттернах поведения уровня класса используется наследование — чтобы распределить поведение между разными классами. Из них более простым и широко распространенным является шаблонный метод, который представляет собой абстрактное определение алгоритма. Другой паттерн поведения уровня класса — интерпретатор, который представляет грамматику языка в виде иерархии классов и реализует интерпретатор как последовательность операций над экземплярами этих классов.
В паттернах поведения уровня объектов используется не наследование, а композиция. Некоторые из них описывают, как с помощью кооперации — множество равноправных объектов справляется с задачей, которая ни одному из них не под силу. Важно здесь то, как объекты получают информацию о существовании друг друга. Объекты-коллеги могут хранить ссылки друг на друга, но это увеличит степень связанности системы. При максимальной степени связанности каждому объекту пришлось бы иметь информацию обо всех остальных. Эту проблему решает паттерн посредник. Посредник, находящийся между объектами-коллегами, обеспечивает косвенность ссылок, необходимую для разрывания лишних связей.
Паттерн цепочка обязанностей позволяет и дальше уменьшать степень связанности. Он дает возможность посылать запросы объекту не напрямую, а по цепочке.
Паттерн наблюдатель определяет и отвечает за зависимости между объектами.
Это основные разновидности патеров поведения.
Паттерн очень устойчив. Благодаря этому свойству паттерн может использоваться для коммуникаций. Однако поэтому же изменить устаревший паттерн оказывается очень непростым делом.
Паттерн стремится целиком завладеть содержащейся в нем информацией, которая таким образом становится доступной исключительно в рамках этого паттерна, даже если при этом она имеет отношение и к другим паттернам.
Паттерны строятся по мере поступления информации, поэтому зависят от порядка её поступления. Это означает, что расположение информации в паттерне всегда хуже возможного. То есть мы по умолчанию «лепим из того, что было», хотя более свежая информация может дать нам возможность построить гораздо более совершенную модель.