1
resposta

Chain of Responsibility e o Switch

O Chain of Responsibility parece uma forma OO pra reescrever o Switch/Case, não consigo perceber uma diferença tão grande entre os dois. Alguém poderia me elucidar melhor?

1 resposta

Olá Afonso, tudo bem com você?

Peço desculpas pela demora no retorno.

Podemos considerar que o padrão de projeto Chain of Responsibility é a versão Orientada a Objeto das estruturas condicionais if, elif e else.

No padrão de projeto Chain of Responsibility iremos trabalhar com classes, que recebem determinados atributos, com base nos atributos recebidos um método dessa classe será responsável por avaliar se ocorrerá a continuidade na cadeia de evento ou não.

Já trabalhando com as cláusulas Switch e Case, estaremos trabalhando com funções, que receberão um atributo, e com base nesse atributo fornecido determinada ação deverá ser seguida.

Uma curiosidade, a partir do Python 3.10 foi introduzido o uso das cláusulas match e case, que trabalham com a validação de um atributo e a tomada de ação com base neste atributo.

Para saber um pouco mais sobre o uso das cláusulas match e case recomendo a leitura dos seguintes artigos, que irão apresentar a sintaxe de uso e as particularidades das cláusulas match e case.

Fico à disposição em caso de dúvidas.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!