Встречается на собеседованиях • сегодня
В чем разница фасада и адаптера
Фасад и адаптер — структурные паттерны, но решают разные задачи:
Фасад упрощает работу со сложной системой, предоставляя удобный интерфейс для клиента. Он не меняет существующую функциональность, а лишь объединяет вызовы.
python
class Engine:
def start(self): pass
class AC:
def turn_on(self): pass
class CarFacade:
def init(self):
self.engine = Engine()
self.ac = AC()
text
def start_car(self):
self.engine.start()
self.ac.turn_on()text
**Адаптер** преобразует интерфейс одного класса в интерфейс, ожидаемый клиентом. Используется, когда нужно совместить несовместимые интерфейсы.
```python
class EuropeanSocket:
def voltage(self): return 220
class USPlug:
def need_120v(self): pass
class Adapter(USPlug):
def __init__(self, socket):
self.socket = socket
def need_120v(self):
return self.socket.voltage() / 2Фасад — упрощение, адаптер — совместимость. Фасад работает с целой подсистемой, адаптер — с одним классом.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы