Паттерн проектирования (иначе шаблон проектирования) представляет собой формализованное описание часто встречающейся задачи проектирования, удачное решение данной задачи, а также рекомендации по применению этого решения в различных ситуациях. Другими словами, это способ представления в общем виде как условий проектной задачи, так и правильных подходов к е решению. Паттерны предназначены для многократного использования. Важным начальным этапом при работе с паттернами является адекватное моделирование рассматриваемой предметной области. Это является необходимым как для получения должным образом формализованной постановки задачи, так и для выбора подходящих паттернов проектирования. Модель системы, построенная в терминах паттернов проектирования, фактически является структурированным выделением тех элементов и связей, которые значимы при решении поставленной задачи.
Сложные иерархированные структуры представляются как набор определенным образом типологизированных элементов и связей между ними. Кроме того, эффективной процедурой является многоуровневое представление структур. Переход с одного уровня представления на другой осуществляется путем выделения определенных подструктур, которые, в свою очередь рассматриваются в качестве "макроскопических" элементов, связанных между собой более простым и понятным образом. В свою очередь, элементы более низкого уровня могут быть названы "микроскопическими".
Низшим уровнем представления данной системы является описание ее в терминах классов (со своими атрибутами и операциями) и соответствующих им объектов, выступающих в качестве "микроскопических" элементов, и отношений между ними, играющих роль связей. Примером "макроскопического" элемента следующего уровня является системная архитектура, представляющая собой базовую подструктуру рассматриваемой системы. Самым высоким уровнем является интеграция отдельных систем, которые в данном случае рассматриваются в качестве макроскопических элементов.
Для управляемого применения шаблона необходимо сформулировать задачу и е контекст. В шаблон также может быть включен перечень условий, при выполнении которых его следует применять. Метод решения — некоторый набор элементов (классов, объектов и других объектно-ориентированных средств), с помощью которых можно задачу решить.
Типичный вид шаблона:
Имя (Контекст, Задача, Метод решения, Результаты).
Разработаны специальные библиотеки шаблонов. Более подробное описание типичной структуры шаблона дано в таблице 1 [1].
Таблица 1    
Имя шаблонаИмя в классификации
ЗадачаОбобщнная постановка задачи
Также известен как …Другие хорошо известные имена шаблона …
МотивацияСценарий, иллюстрирующий проблему
ПрименимостьСитуации, в которых шаблон применим
СтруктураГрафическая презентация шаблона
СоставляющиеКлассы, объекты и отношения
СотрудничествоРаспределение ответственности
ПоследствияК чему приведт применение шаблона
РеализацияКак реализовать
Образец кодаФрагменты кода
Известные реализацииИспользовано в "системе"
Родственные шаблоныИмена родственных шаблонов

Библиотека шаблонов является справочником, который полезен как начинающим разработчикам в качестве вводного пособия, так и опытным проектировщикам как каталог типовых решений задач, часто встречающихся при разработке систем.
Список литературы
1. Соснин П.И. Архитектурное моделирование автоматизированных систем. — Ульяновск: УлГТУ, 2002. -140 с.