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

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

Adapter Адаптер Adapter Позволяет объектам с несовместимыми интерфейсами работать вместе. Bridge Мост Bridge Разделяет один или несколько классов на две отдельные иерархии — абстракцию и реализацию, позволяя изменять их независимо друг от друга. Composite Компоновщик Composite Позволяет сгруппировать объекты в древовидную структуру, а затем работать с ними так, если бы это был единичный объект. Decorator Декоратор Decorator Позволяет динамически добавлять объектам новую функциональность, оборачивая их в полезные «обёртки». Facade Фасад Facade Предоставляет простой интерфейс к сложной системе классов, библиотеке или фреймворку. Flyweight Легковес Flyweight Позволяет вместить бóльшее количество объектов в отведённую оперативную память. Легковес экономит память, разделяя общее состояние объектов между собой, вместо хранения одинаковых данных в каждом объекте. Proxy Заместитель Proxy Позволяет подставлять вместо реальных объектов специальные объекты-заменители. Эти объекты перехватывают вызовы к оригинальному объекту, позволяя сделать что-то до или после передачи вызова оригиналу.