Em quais situações é mais adequado usar mixins e modulos ( com essas funções que não implementam o core do business) ?
Em quais situações é mais adequado usar mixins e modulos ( com essas funções que não implementam o core do business) ?
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.