Design pattern in Python

Command Pattern in Python

Impara Command Pattern in Python con un esempio pratico modificabile ed eseguibile online.

Che cos’è Command Pattern?

Impara Command Pattern in Python con un esempio pratico modificabile ed eseguibile online.

Quando si usa?

  • Risolvere problemi ricorrenti di progettazione a oggetti con strutture collaudate.
  • Disaccoppiare le responsabilità per rendere il codice più facile da estendere e testare.
  • Usare un vocabolario di progettazione condiviso nelle discussioni di architettura con il team.

Codice di esempio

Esegui codice →
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())

Output previsto

Light on
Light off

Come funziona

Questo esempio illustra Command Pattern in Python. Modifica i valori di input per esplorare il codice.

Modifica i valori ed esegui il programma nel compilatore Python online CodeUtility senza installare Python.

Esercizi pratici

Modifica gli input e verifica i casi limite prima di usare dataset più grandi.

  1. Sostituisci il dominio di esempio mantenendo la struttura del pattern.
  2. Confronta il pattern con un’implementazione più semplice e spiegane i compromessi.
  3. Scrivi test per ogni partecipante prima di aggiungere un’altra implementazione.
Esegui nell’IDE Python →