Описание тега design-patterns
В программной инженерии шаблон проектирования - это общее многократно используемое решение часто встречающейся проблемы в заданном контексте разработки программного обеспечения.
Шаблон проектирования - это не законченный дизайн, который можно преобразовать непосредственно в код. Это описание или шаблон решения проблемы, который можно использовать во многих различных ситуациях.
Шаблоны объектно-ориентированного проектирования обычно показывают взаимосвязи и взаимодействия между классами или объектами, не указывая конечные классы или объекты приложения, которые участвуют. Многие шаблоны подразумевают объектную ориентацию или, в более общем смысле, изменяемое состояние, и поэтому могут быть неприменимы в языках функционального программирования, в которых данные неизменяемы или обрабатываются как таковые.
Шаблоны проектирования обычно описываются с использованием унифицированного языка разметки ( uml) - предоставляется диаграмма классов, которая показывает отношения между компонентами, составляющими шаблон проектирования. Кроме того, UML имеет достаточно обширный и выразительный словарь, который помогает подробно описывать шаблоны.
Банда четырех шаблонов проектирования
Шаблоны создания: построитель абстрактных фабрик, фабрика-метод, прототип-шаблон- одиночка
Структурные модели: адаптер мост композитный декоратор фасад наилегчайшем-модель прокси-модель
Поведенческие шаблоны: цепочка ответственности команда-шаблон- интерпретатор-шаблон- итератор- посредник памятный -шаблон - наблюдатель шаблон- состояние шаблон- стратегии шаблон-метод-шаблон посетитель
Шаблоны параллелизма
Другие шаблоны
- внедрение зависимости
- фронт-контроллер
- ленивая инициализация
- модуль
- модель-представление-контроллер
- мультитонный
- шаблон нулевого объекта
- объект-параметр
- единица работы
Полезные ссылки
Видео-тренинг по шаблонам дизайна и архитектуре Java от Джона Перселла
Примеры шаблонов проектирования, реализованные на Java - Github