1
resposta

Chain of Responsibility com função o invés de classe

Olá, é viável escrever o pattern "Chain of Responsibility" usando funções ao invés de classe ? Seria uma má prática ?

Eu venho do Java e agora estou trabalhando em um projeto em Python, e muito do código que escrevo hoje é criticado com a justificativa de que não está "pythonico". O hábito de ter contratos rígidos com definição de classe e interface do Java me atrapalha um pouco ao escrever código "pythonico".

1 resposta

Olá Danilo, 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. Por se tratar do mundo da orientação a objeto (OO) do Python devemos está trabalhando com classes e seus métodos, a partir dos métodos será tomada as decisões de qual classe será instanciada.

Para aprimorar ainda mais o seu aprendizado sobre o padrão de projeto Chain of Responsibility em Python, recomendo a leitura do artigo abaixo, onde apresenta com detalhes sobre a estrutura do padrão, apresenta suas vantagens e desvantagens e locais de aplicação.

O artigo acima está em inglês, caso tenha dificuldade com o idioma, recomendo o uso do tradutor do navegador.

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!