В программной инженерии шаблон проектирования — это общее повторяемое решение часто встречающейся проблемы при разработке программного обеспечения. Шаблон проектирования — это не готовый дизайн, который можно преобразовать непосредственно в код. Это описание или шаблон решения проблемы, который можно использовать в самых разных ситуациях.
Категоризация шаблонов проектирования
- Творческий
Эти шаблоны имеют дело с механизмами создания объектов, которые оптимизируют создание объектов по сравнению с базовым подходом.
Некоторые из популярных шаблонов проектирования в этой категории:
- Заводской метод
- Абстрактная фабрика
- Строитель
- Прототип
- Синглтон
2. Структурный
Эти шаблоны имеют дело с объектными отношениями. Они гарантируют, что при изменении одной части системы вся система не должна меняться вместе с ней.
Некоторые из популярных шаблонов в этой категории:
- Адаптер
- Мост
- Композитный
- Декоратор
- Фасад
- Наилегчайший вес
- Прокси
3. Поведение
Эти типы шаблонов распознают, реализуют и улучшают связь между разрозненными объектами в системе. Они помогают обеспечить синхронизацию информации в разрозненных частях системы.
Некоторые из популярных шаблонов в этой категории:
- Цепочка ответственности
- Команда
- Итератор
- Медиатор
- Сувениры
- Наблюдатель
- Состояние
- Стратегия
- Посетитель
4. Параллелизм
Эти типы шаблонов проектирования имеют дело с парадигмами многопоточного программирования.
Некоторые из популярных шаблонов в этой категории:
- Активный объект
- Ядерная реакция
- Планировщик
5. Архитектура
Архитектурный шаблон – это общее, повторно используемое решение часто встречающейся проблемы в архитектуре программного обеспечения в заданном контексте. Архитектурные шаблоны решают различные проблемы разработки программного обеспечения, такие как ограничения производительности компьютерного оборудования, высокая доступность и минимизация бизнес-рисков.
Некоторые из самых известных из них:
- MVC (модель-представление-контроллер)
- MVP (модель-представление-ведущий)
- MVVM (Модель-Вид-ВидМодель)