Pull to refresh

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

Reading time2 min
Views1.4M

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

Под катом — много картинок.


Условные обозначения


Отношения между классами


  • — агрегация (aggregation) — описывает связь «часть»–«целое», в котором «часть» может существовать отдельно от «целого». Ромб указывается со стороны «целого».

  • — композиция (composition) — подвид агрегации, в которой «части» не могут существовать отдельно от «целого».

  • — зависимость (dependency) — изменение в одной сущности (независимой) может влиять на состояние или поведение другой сущности (зависимой). Со стороны стрелки указывается независимая сущность.

  • — обобщение (generalization) — отношение наследования или реализации интерфейса. Со стороны стрелки находится суперкласс или интерфейс.


Виды паттернов


  • — поведенческие (behavioral);

  • — порождающие (creational);

  • — структурные (structural).



Список шаблонов


Хранитель (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)


Файлы


  • все паттерны в pdf-файле.
  • то же самое, но в png — 1 и 2 части.
  • архив с нарезанными изображениями.


Upd. оригинальный pdf и изображения (1, 2).

P.S. По запросу «шаблоны проектирования» 636 топиков, а хаба нет; а по «bitcoin» — 278 топиков и хаб есть. Прошу восстановить справедливость!

Опросы

Only registered users can participate in poll. Log in, please.
Стоит ли продолжать переводить шпаргалки?
96.04% Да4482
3.96% Нет185
4667 users voted. 407 users abstained.
Only registered users can participate in poll. Log in, please.
Нужен ли хаб для паттернов?
86.14% Нужен3835
13.86% Не нужен617
4452 users voted. 600 users abstained.
Tags:
Hubs:
Total votes 192: ↑179 and ↓13+166
Comments66

Articles