Design Patterns

Приёмы объектно-ориентированного проектирования. Паттерны проектирования.

англ. Design Patterns:
Elements of Reusable Object-Oriented Software
Автор |  «Банда четырёх»: Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес
Жанр |  Книга о программировании и шаблонах проектирования
Язык оригинала |  английский
Оригинал издан |  1994
Переводчик |  А. Слинкин
Серия |  Professional Computing
Издатель |  Addison-Wesley, «Питер»
Выпуск |  21.10.1994
Страниц |  395
Носитель |  книга
ISBN |  0-201-63361-2 и 5-469-01136-4

«Приёмы объектно-ориентированного проектирования. Па́ттерны проектирования» (англ. Design Patterns: Elements of Reusable Object-Oriented Software) — книга 1994 года о программной инженерии, описывающая шаблоны проектирования программного обеспечения. Авторами книги, которых прозвали «Бандой четырёх»[1], являются Эрих Гамма, Ричард Хелм, Ральф Джонсон[англ.], Джон Влиссидес. Предисловие написал Гради Буч.

Книга состоит из двух частей, в первых двух главах рассказывается о возможностях и недостатках объектно-ориентированного программирования, а во второй части описаны 23 классических шаблона проектирования. Примеры в книге написаны на языках программирования C++ и Smalltalk.

Книга получила награды Jolt productivity[англ.], и Software Development productivity в 1994 году[2]. Коллектив авторов был награждён премией SIGPLAN[англ.] Programming Languages Achievement Award в 2005 году[3] за данную книгу.

Книга издана 21 октября 1994 года с отметкой копирайта 1995 года. Впервые представлена публике на встрече OOPSLA, Портланд, Орегон в октябре 1994 года. Продано более полумиллиона экземпляров книги на английском и 13 других языках. Перевод на русский издан издательством «Питер».

## Издания

[править | править код]

* Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес; [пер. с англ.: А. Слинкин науч. ред.: Н. Шалаев]. — Санкт-Петербург [и др.] : Питер, 2014. — 366 с. : ил. ; 24 см.

* Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Паттерны объектно-ориентированного проектирования / Пер. с англ.: А. Слинкин. — СПб.: Питер, 2021. — 448 с. — ISBN 978-5-4461-1595-2.

## Паттерны

[править | править код]

Описанные в книге паттерны (шаблоны проектирования)

* Порождающие шаблоны проектирования
* Abstract Factory — Абстрактная фабрика
* Builder — Строитель
* Factory Method — Фабричный метод
* Prototype — Прототип
* Singleton — Одиночка
* Структурные шаблоны проектирования
* Adapter — Адаптер
* Bridge — Мост
* Composite — Компоновщик
* Decorator — Декоратор
* Facade — Фасад
* Flyweight — Приспособленец
* Proxy — Заместитель
* Поведенческие шаблоны проектирования
* Chain of responsibility — Цепочка обязанностей
* Command — Команда
* Interpreter — Интерпретатор
* Iterator — Итератор
* Mediator — Посредник
* Memento — Хранитель
* Observer — Наблюдатель
* State — Состояние
* Strategy — Стратегия
* Template method — Шаблонный метод
* Visitor — Посетитель

## Примечания

[править | править код]

1. ↑ Gang Of Four Архивная копия от 9 августа 2013 на Wayback Machine, Content Creation Wiki for People Projects And Patterns in Software Development.
2. ↑ Jolt winners 1994 Архивировано 25 мая 2009 года., Dr. Dobb’s
3. ↑ SIGPLAN — Awards Архивировано 3 ноября 2007 года.

Это заготовка статьи о литературе. Помогите Википедии, дополнив её.

|

Шаблоны проектирования

Основные|

* Делегирования (Delegation)
* Интерфейс (Interface)
* Неизменяемый объект (Immutable)
* Функционального дизайна (Functional design)

Порождающие|

* Абстрактная фабрика (Abstract factory)
* Объектный пул (Object pool)
* Одиночка (Singleton)
* Отложенная инициализация (Lazy initialization)
* Прототип (Prototype)
* Строитель (Builder)
* Фабричный метод (Factory method)

Структурные|

* Адаптер (Adapter)
* Выделение частного класса данных (Private class data)
* Декоратор (Decorator)
* Заместитель (Proxy)
* Компоновщик (Composite)
* Мост (Bridge)
* Приспособленец (Flyweight)
* Фасад (Facade)

Поведенческие|

* Интерпретатор (Interpreter)
* Итератор (Iterator)
* Команда (Command)
* Наблюдатель (Observer)
* Посетитель (Visitor)
* Посредник (Mediator)
* Состояние (State)
* Стратегия (Strategy)
* Хранитель (Memento)
* Null Object
* Цепочка обязанностей (Chain of responsibility)
* Шаблонный метод (Template method)

Параллельного
программирования|

* Блокировка с двойной проверкой
* Однопоточное выполнение
* Планировщик
* Производитель-потребитель
* Активный объект

Архитектурные|

* ActiveRecord
* MVC (расширение HMVC)
* MVP
* MVVM
* PAC
* Клиент — сервер
* Локатор служб

Шаблоны Java EE|

* Шаблоны_J2EE

Прочие шаблоны|

* Внедрение зависимости

Книги|

* Design Patterns

Персоналии|

* Кристофер Александер
* Эрих Гамма
* Джон Влиссидес
* Гради Буч
* Кент Бек
* Говард Каннингем
* Мартин Фаулер
* Роберт Мартин

*[СПб.]: Санкт-Петербург