Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Herança vs Traits

Oi Vinicius, beleza?

Você refatorou o renderizador para uma trait por que nem todos controllers usavam essa característica?

Se sim, caso todos controllers usassem o render, semanticamente seria melhor ter uma classe chamada, por exemplo, BaseController, onde todos controllers herdariam o render dela? Ou traits ainda seria melhor abordagem nessa situação?

Sei que a ferramenta para reaproveitar (copiar/colar) código , de fato, são as traits e que a herança tem mais a ver com hierarquias de tipos, mas que na prática, em algumas situações, geram dúvidas. Se eu precisasse usar o render também em outros tipos de classes que não agissem como controladores eu teria certeza que a única abordagem seria as traits, mas como usamos apenas nos controllers bate uma dúvida se a herança poderia se encaixar.

1 resposta
solução!

Fala, Diego.

Caso TODOS os Controllers fossem utilizar o método render, herança seria uma opção sim. Mas não tem melhor ou pior nesse caso. Ambas seriam abordagens válidas.

Eu tendo a preferir utilizar herança quando cabe por ser mais agnóstico de linguagem (bobeira minha mesmo), mas tem gente que prefere utilizar trait sempre que pode (e que faz sentido)...

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software