Chain of Responsibility Pattern in Python
Impara Chain of Responsibility Pattern in Python con un esempio pratico modificabile ed eseguibile online.
Che cos’è Chain of Responsibility Pattern?
Impara Chain of Responsibility 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
main.py
class Approver:
# Chain of Responsibility: offer a request to handlers in order.
def __init__(self, name, limit, next_approver=None):
self.name, self.limit, self.next = name, limit, next_approver
def approve(self, amount):
# Handle locally or pass the request along the chain.
if amount <= self.limit:
return f"{self.name} approved {amount}"
if self.next:
return self.next.approve(amount)
return "Declined"
chain = Approver("Lead", 100, Approver("Manager", 1000))
print(chain.approve(500))
Output previsto
Manager approved 500
Come funziona
Questo esempio illustra Chain of Responsibility 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.
- Sostituisci il dominio di esempio mantenendo la struttura del pattern.
- Confronta il pattern con un’implementazione più semplice e spiegane i compromessi.
- Scrivi test per ogni partecipante prima di aggiungere un’altra implementazione.