Pull to refresh

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

Website development *System Analysis and Design *Designing and refactoring *

Перевод 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.
Стоит ли продолжать переводить шпаргалки?
95.89% Да 4178
4.11% Нет 179
4357 users voted. 396 users abstained.
Only registered users can participate in poll. Log in, please.
Нужен ли хаб для паттернов?
85.61% Нужен 3581
14.39% Не нужен 602
4183 users voted. 582 users abstained.
Tags:
Hubs:
Total votes 192: ↑179 and ↓13 +166
Views 1.1M
Comments Comments 64