1
resposta

Mixins x Modulos/Packages

Em quais situações é mais adequado usar mixins e modulos ( com essas funções que não implementam o core do business) ?

1 resposta

Olá Isabela, tudo bem com você?

Peço desculpas pela demora no retorno.

No proposto pela Orientação a objeto, cada classe deve ter seu objetivo definido e trabalhar dentro do objetivo proposto.

Mas quando é necessário que uma classe tenha um novo comportamento e esse comportamento não faz parte do objetivo da classe? Podemos utilizar o mixin, quando queremos que novos métodos sejam disponibilizados para uma ou múltiplas classes, dessa forma não será necessário implementarmos o mesmo método em cada classe e adicionarmos comportamentos fora do objetivo da classe.

Em Python os módulos ou bibliotecas, são um conjunto de classes que podem ser importadas em um projeto e realizarmos o uso em nossas classes, como por exemplo o módulo math, que é o módulo de matemática do Python, fazendo a importação desse módulo teremos disponível para uso uma série de métodos em nossas classes; como por exemplo: math.pi e math.tau que retornam o valor de pi e de tau respectivamente, assim não será necessário implementarmos do zero os métodos em nossas classes que retornem esses valores.

Em resumo podemos considerar que, se o comportamento que queremos não faz parte do objetivo da classe devemos utilizar o mixin, e utilizaremos os módulos para fazermos uso de comportamentos que são necessários para o funcionamento da nossa classe mas não implementamos o método do zero.

Para aprimorar ainda mais o aprendizado sobre mixin recomendo a leitura do seguinte artigo, nele é apresentado como fazer o uso do mixin seja em uma classe ou com o trabalho de múltiplos mixin.

O artigo acima está em inglês, caso tenha dificuldades 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!