Описание тега design-patterns

Шаблон проектирования - это универсальное решение многократного использования для часто встречающейся проблемы при разработке программного обеспечения. Используйте этот тег для вопросов, когда у вас возникают проблемы с реализацией шаблонов проектирования. Пожалуйста, не используйте этот тег для вопросов о сопоставлении текстового шаблона. При использовании этого тега для сложных вопросов реализации - укажите язык кода, на котором написана реализация.

В программной инженерии шаблон проектирования - это общее многократно используемое решение часто встречающейся проблемы в заданном контексте разработки программного обеспечения.

Шаблон проектирования - это не законченный дизайн, который можно преобразовать непосредственно в код. Это описание или шаблон решения проблемы, который можно использовать во многих различных ситуациях.

Шаблоны объектно-ориентированного проектирования обычно показывают взаимосвязи и взаимодействия между классами или объектами, не указывая конечные классы или объекты приложения, которые участвуют. Многие шаблоны подразумевают объектную ориентацию или, в более общем смысле, изменяемое состояние, и поэтому могут быть неприменимы в языках функционального программирования, в которых данные неизменяемы или обрабатываются как таковые.

Шаблоны проектирования обычно описываются с использованием унифицированного языка разметки ( uml) - предоставляется диаграмма классов, которая показывает отношения между компонентами, составляющими шаблон проектирования. Кроме того, UML имеет достаточно обширный и выразительный словарь, который помогает подробно описывать шаблоны.

Банда четырех шаблонов проектирования

Шаблоны параллелизма

Другие шаблоны

Полезные ссылки

Книги