Какие знаешь структурные паттерны проектирования

Python Middle Без компании
Какие знаешь структурные паттерны проектирования
Ответы
Структурные паттерны проектирования помогают организовать классы и объекты в более крупные структуры, сохраняя гибкость и эффективность. **Адаптер (Adapter)** – преобразует интерфейс класса в другой интерфейс, ожидаемый клиентом. ``` class Target: def request(self): return "Target behavior" class Adaptee: def specific_request(self): return "Adaptee behavior" class Adapter(Target): def __init__(self, adaptee): self.adaptee = adaptee def request(self): return f"Adapter: {self.adaptee.specific_request()}" ``` **Декоратор (Decorator)** – динамически добавляет объекту новую функциональность. ``` class Component: def operation(self): return "Component" class Decorator(Component): def __init__(self, component): self._component = component def operation(self): return f"Decorator({self._component.operation()})" ``` **Фасад (Facade)** – предоставляет упрощенный интерфейс к сложной подсистеме. **Компоновщик (Composite)** – группирует объекты в древовидные структуры. **Заместитель (Proxy)** – контролирует доступ к объекту, добавляя дополнительную логику. **Мост (Bridge)** – разделяет абстракцию и реализацию, позволяя им изменяться независимо. **Приспособленец (Flyweight)** – экономит память, разделяя общее состояние между объектами.