Singleton: Гарантирует существование только одного экземпляра класса и предоставляет глобальную точку доступа к нему.
Factory Method: Определяет интерфейс для создания объекта, но позволяет подклассам решать, какой класс инстанцировать.
Abstract Factory: Предоставляет интерфейс для создания семейств связанных или зависимых объектов, не специфицируя их конкретные классы.
Builder: Разделяет конструирование сложного объекта на шаги, позволяя создавать различные представления объекта с использованием одного и того же процесса конструирования.
Prototype: Создает объекты, дублируя существующий экземпляр (прототип), вместо повторного выполнения процесса конструирования.
Структурные:
Adapter: Преобразует интерфейс одного класса в другой интерфейс, ожидаемый клиентами. Позволяет работать классам с несовместимыми интерфейсами.
Bridge: Отделяет абстракцию от ее реализации, позволяя им изменяться независимо.
Composite: Компонует объекты в древовидные структуры для представления иерархий «часть-целое». Позволяет клиентам единообразно работать с отдельными объектами и композициями объектов.
Decorator: Динамически добавляет новые обязанности к объекту, оборачивая его в специальный объект-декоратор.
Facade: Предоставляет унифицированный интерфейс к набору интерфейсов подсистемы. Определяет интерфейс более высокого уровня, который упрощает использование подсистемы.
Flyweight: Использует разделяемое состояние между множеством мелких объектов, чтобы уменьшить объем используемой памяти и увеличить производительность.
Proxy: Предоставляет заместитель объекта, управляющий доступом к оригинальному объекту.
Поведенческие:
Chain of Responsibility: Передает запрос по цепочке обработчиков. Каждый обработчик решает, обработать ли запрос или передать его следующему обработчику в цепочке.
Command: Инкапсулирует запрос как объект, позволяя параметризовать клиентов с различными запросами, ставить запросы в очередь или вести их логи.
Interpreter: Определяет грамматическое представление для языка и включает интерпретатор для интерпретации предложений в этом языке.
Iterator: Предоставляет способ последовательного доступа ко всем элементам составного объекта, не раскрывая его внутреннего представления.
Mediator: Определяет объекты, которые управляют взаимодействием между набором других объектов. Способствует слабой связанности, позволяя объектам взаимодействовать без явного обращения друг к другу.
Memento: Предоставляет возможность сохранения и восстановления внутреннего состояния объекта без нарушения инкапсуляции.
Observer: Определяет зависимость «один ко многим» между объектами, чтобы при изменении состояния одного объекта все зависимые от него объекты уведомлялись и автоматически обновлялись.
State: Позволяет объекту изменять свое по
Порождающие:
Singleton: Гарантирует существование только одного экземпляра класса и предоставляет глобальную точку доступа к нему.
Factory Method: Определяет интерфейс для создания объекта, но позволяет подклассам решать, какой класс инстанцировать.
Abstract Factory: Предоставляет интерфейс для создания семейств связанных или зависимых объектов, не специфицируя их конкретные классы.
Builder: Разделяет конструирование сложного объекта на шаги, позволяя создавать различные представления объекта с использованием одного и того же процесса конструирования.
Prototype: Создает объекты, дублируя существующий экземпляр (прототип), вместо повторного выполнения процесса конструирования.
Структурные:
Adapter: Преобразует интерфейс одного класса в другой интерфейс, ожидаемый клиентами. Позволяет работать классам с несовместимыми интерфейсами.
Bridge: Отделяет абстракцию от ее реализации, позволяя им изменяться независимо.
Composite: Компонует объекты в древовидные структуры для представления иерархий «часть-целое». Позволяет клиентам единообразно работать с отдельными объектами и композициями объектов.
Decorator: Динамически добавляет новые обязанности к объекту, оборачивая его в специальный объект-декоратор.
Facade: Предоставляет унифицированный интерфейс к набору интерфейсов подсистемы. Определяет интерфейс более высокого уровня, который упрощает использование подсистемы.
Flyweight: Использует разделяемое состояние между множеством мелких объектов, чтобы уменьшить объем используемой памяти и увеличить производительность.
Proxy: Предоставляет заместитель объекта, управляющий доступом к оригинальному объекту.
Поведенческие:
Chain of Responsibility: Передает запрос по цепочке обработчиков. Каждый обработчик решает, обработать ли запрос или передать его следующему обработчику в цепочке.
Command: Инкапсулирует запрос как объект, позволяя параметризовать клиентов с различными запросами, ставить запросы в очередь или вести их логи.
Interpreter: Определяет грамматическое представление для языка и включает интерпретатор для интерпретации предложений в этом языке.
Iterator: Предоставляет способ последовательного доступа ко всем элементам составного объекта, не раскрывая его внутреннего представления.
Mediator: Определяет объекты, которые управляют взаимодействием между набором других объектов. Способствует слабой связанности, позволяя объектам взаимодействовать без явного обращения друг к другу.
Memento: Предоставляет возможность сохранения и восстановления внутреннего состояния объекта без нарушения инкапсуляции.
Observer: Определяет зависимость «один ко многим» между объектами, чтобы при изменении состояния одного объекта все зависимые от него объекты уведомлялись и автоматически обновлялись.
State: Позволяет объекту изменять свое по
Register or sign in to get access to full answers for all questions from the question bank.