Шаблоны проектирования1 - это распространённые архитектурные подходы.
| Принципы программирования SOLID |
|-------------|-------------|---------------|
| Порождающие | Структурные | Поведенческие |
- Принцип единственной ответственности
- Принцип открытости/закрытости
- Принцип подстановки Лисков
- Принцип разделения интерфейса
- Принцип инверсии зависимостей
- Шаблоны проектирования обычно разделяют на три категории.
- Это категоризация Гаммы в честь Эриха Гаммы (член "Банды четырех")
- Помогают в создании (конструировании) объектов
- Явно (конструктор)
vs
неявно (DI, рефлексия)- Одномоментно (за одно утверждение)
vs
по частям (пошагово)
- Связаны с, собственно, структурой (напр. членам класса)
- Многие шаблоны - обёртки, которые копируют интерфейс обёртываемого класса
- Подчёркивают важность хорошего дизайна
API
- Все разные: нет единой темы
- Решают задачи эффективного и безопасного взаимодействия между объектами программы.
- Цепочка обязанностей
- Команда
- Интерпретатор
- Итератор
- Посредник
- Хранитель
- Наблюдатель
- Состояние
- Стратегия
- Шаблонный метод
- Посетитель
Автор: Shoxrux Yuldashov
Footnotes
-
Source Design Patterns ↩