Padrões de projeto em Python

Command Pattern in Python

Aprenda Command Pattern in Python com um exemplo prático que pode editar e executar online.

O que é Command Pattern?

Aprenda Command 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

Executar código →
main.py
class Light:
    # Command: package a request as an object for later execution.
    def on(self): return "Light on"
    def off(self): return "Light off"


class LightCommand:
    def __init__(self, light, action):
        self.light, self.action = light, action

    def execute(self):
        # Store a request as data that can be invoked later.
        return getattr(self.light, self.action)()


light = Light()
for command in [LightCommand(light, "on"), LightCommand(light, "off")]:
    print(command.execute())

Saída esperada

Light on
Light off

Como funciona

Este exemplo demonstra Command 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.

  1. Substitua o domínio do exemplo preservando a estrutura do padrão.
  2. Compare o padrão com uma implementação mais simples e explique as diferenças.
  3. Escreva testes para cada participante antes de adicionar outra implementação.
Executar no IDE Python →