🎉 Ура! После трёх лет работы, я наконец выпустил английскую версию книги о паттернах! Вот она »

Структурные паттерны проектирования

Эти паттерны отвечают за построение удобных в поддержке иерархий классов.

Адаптер Адаптер Adapter

Позволяет объектам с несовместимыми интерфейсами работать вместе.

Мост Мост Bridge

Разделяет один или несколько классов на две отдельные иерархии — абстракцию и реализацию, позволяя изменять их независимо друг от друга.

Компоновщик Компоновщик Composite

Позволяет сгруппировать множество объектов в древовидную структуру, а затем работать с ней так, как будто это единичный объект.

Декоратор Декоратор Decorator

Позволяет динамически добавлять объектам новую функциональность, оборачивая их в полезные «обёртки».

Фасад Фасад Facade

Предоставляет простой интерфейс к сложной системе классов, библиотеке или фреймворку.

Легковес Легковес Flyweight

Позволяет вместить бóльшее количество объектов в отведённую оперативную память. Легковес экономит память, разделяя общее состояние объектов между собой, вместо хранения одинаковых данных в каждом объекте.

Заместитель Заместитель Proxy

Позволяет подставлять вместо реальных объектов специальные объекты-заменители. Эти объекты перехватывают вызовы к оригинальному объекту, позволяя сделать что-то до или после передачи вызова оригиналу.