Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Composição ou Herança?

Flavio, boa noite.

Depois do curso estive estudando e fazendo alguns exercícios com class...

Buscando mais informações sobre padrões de projeto com Classes em ES6, acabei deparando com alguns comentários e artigos que sugerem que modelar a aplicação com classes e herança não seria a abordagem mais recomendada para JS e no lugar disso, sugerem uma modelagem mais funcional usando o padrão "composition"...

Entre outros links, achei bem didático o seguinte: https://medium.com/humans-create-software/composition-over-inheritance-cb6f88070205#.5yvlalkhe.

Entendi e gostei das duas abordagens, mas hoje não saberia qual das duas adotar se fosse iniciar um novo projeto...o que vc sugere?

Obrigado

Abs

3 respostas
solução!

Composição FTW!

Herança gera alto acoplamento. Melhor evitar. Composição consegue os mesmo efeitos de reaproveitamento de código sem o alto acoplamento.

É uma discussão antiga, da época do famoso livro Design Patterns do GoF. Desde aquela época já se falava pra preferir composição.

No mundo Java se fala disso há mais de 10 anos tbm. Um artigo famoso é o Why extends is evil (recomendo)

Oi Paulo!

Sérgio chegou primeiro e a resposta dele está muito boa.

Não deixe de marcar a resposta dele como solução!

Contudo, a herança que você utilizou foi do bem e eu não usaria composição nesse caso. O custo benefício não seria um dos melhores. Mas é bom ficar antenado nisso sim.