Встречается на собеседованиях • сегодня

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

Структурные паттерны проектирования помогают организовать классы и объекты в более крупные структуры, сохраняя гибкость и эффективность.

Адаптер (Adapter) – преобразует интерфейс класса в другой интерфейс, ожидаемый клиентом.

python
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

text
def request(self):
    return f"Adapter: {self.adaptee.specific_request()}"
text

**Декоратор (Decorator)** – динамически добавляет объекту новую функциональность.  
```python
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) – экономит память, разделяя общее состояние между объектами.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы