В чем разница между фасадом и адаптером

Python Middle Вкусно и точка
В чем разница между фасадом и адаптером
Ответы
Фасад и адаптер — оба являются структурными паттернами, но решают разные задачи: **Фасад** упрощает работу со сложной системой, предоставляя удобный интерфейс. Он не изменяет существующие интерфейсы, а лишь объединяет их вызовы. ``` class CPU: def execute(self): pass class Memory: def load(self): pass class ComputerFacade: def __init__(self): self.cpu = CPU() self.memory = Memory() def start(self): self.memory.load() self.cpu.execute() ``` **Адаптер** же преобразует один интерфейс в другой, чтобы позволить работать несовместимым классам вместе: ``` class EuropeanSocket: def voltage(self): return 230 class USPlug: def power(self): return 120 class Adapter(USPlug): def __init__(self, socket): self.socket = socket def power(self): return self.socket.voltage() / 2 ``` Ключевое отличие: фасад упрощает, адаптер — преобразует. Фасад работает с целой подсистемой, адаптер — с конкретным интерфейсом.