Structural Design Patterns - luk6233/interview GitHub Wiki

Структурные паттерны

Guru

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

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

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

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

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

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

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