Шпаргалка по шаблонам проектирования
Шпаргалка по шаблонам проектирования

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.
Под катом — много картинок.
Условные обозначения
Отношения между классами
— агрегация (aggregation) — описывает связь «часть»–«целое», в котором «часть» может существовать отдельно от «целого». Ромб указывается со стороны «целого».
— композиция (composition) — подвид агрегации, в которой «части» не могут существовать отдельно от «целого».
— зависимость (dependency) — изменение в одной сущности (независимой) может влиять на состояние или поведение другой сущности (зависимой). Со стороны стрелки указывается независимая сущность.
— обобщение (generalization) — отношение наследования или реализации интерфейса. Со стороны стрелки находится суперкласс или интерфейс.
Виды паттернов
Список шаблонов

Хранитель (memento)

Цепочка обязанностей (chain of responsibility)

Наблюдатель (observer)

Команда (command)

Состояние (state)

Интерпретатор (interpreter)

Стратегия (strategy)

Итератор (iterator)

Шаблонный метод (template method)

Посредник (mediator)

Посетитель (visitor)

Адаптер (adapter)

Прокси (proxy)

Мост (bridge)

Абстрактная фабрика (abstract factory)

Компоновщик (composite)

Строитель (builder)

Декоратор (decorator)

Фабричный метод (factory method)

Фасад (facade)

Прототип (prototype)

Приспособленец (flyweight)

Одиночка (singleton)

Файлы
Upd. оригинальный pdf и изображения (1, 2).
P.S. По запросу «шаблоны проектирования» 636 топиков, а хаба нет; а по «bitcoin» — 278 топиков и хаб есть. Прошу восстановить справедливость!
Опросы
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Стоит ли продолжать переводить шпаргалки?
Проголосовали 4397 пользователей. Воздержались 397 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Нужен ли хаб для паттернов?
Проголосовали 4215 пользователей. Воздержались 584 пользователя.
Тэги
Статьи
Проектирование
Паттерны
шаблоны
паттерны проектирования
шаблоны проектирования
gof
gang of four
архитектура
шпаргалка по паттернам