Adapter Pattern in Python
Aprenda Adapter Pattern in Python com um exemplo prático que pode editar e executar online.
O que é Adapter Pattern?
Aprenda Adapter Pattern in Python com um exemplo prático que pode editar e executar online.
Quando usar?
- Resolver problemas recorrentes de design de objetos com estruturas comprovadas.
- Desacoplar responsabilidades para facilitar a extensão e os testes do código.
- Usar um vocabulário de design comum ao discutir arquitetura com a equipe.
Código de exemplo
main.py
class LegacyGateway:
# Adapter: wrap an incompatible API with the expected interface.
def make_payment(self, cents):
return f"PAY {cents / 100:.2f}"
class PaymentAdapter:
def __init__(self, gateway):
self.gateway = gateway
def pay(self, dollars):
# Translate both the method name and amount format.
return self.gateway.make_payment(round(dollars * 100))
gateway = PaymentAdapter(LegacyGateway())
print(gateway.pay(25))
Saída esperada
PAY 25.00
Como funciona
Este exemplo demonstra Adapter Pattern in Python. Altere os valores de entrada para explorar o código.
Altere os valores e execute o programa no compilador Python online CodeUtility sem instalar Python.
Exercícios práticos
Altere as entradas e teste casos de borda antes de usar conjuntos de dados maiores.
- Substitua o domínio do exemplo preservando a estrutura do padrão.
- Compare o padrão com uma implementação mais simples e explique as diferenças.
- Escreva testes para cada participante antes de adicionar outra implementação.