Composite Pattern in Python
Aprenda Composite Pattern in Python com um exemplo prático que pode editar e executar online.
O que é Composite Pattern?
Aprenda Composite 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 Number:
# Composite: leaves and containers expose the same operation.
def __init__(self, value): self.value = value
def total(self): return self.value
class Sum:
def __init__(self, *children): self.children = children
def total(self):
# Treat leaves and nested groups uniformly.
return sum(child.total() for child in self.children)
expression = Sum(Number(1), Sum(Number(2), Number(3)))
print(expression.total())
Saída esperada
6
Como funciona
Este exemplo demonstra Composite 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.