Tenho notado em alguns posts que quando sai um framework, geralmente Java, que faz uso da herança, o pessoal começa a olhar ‘meio torto’ para o framework, alegando que vc estaria atrelando seu domínio à um framework.
Gostaria de saber a diferença de um framework assim ao Rails, por exemplo, que faz uso de herança e é considerado muito bem desenhado.
PS: Não é nada contra nenhuma tecnologia, apenas quero entender essa questão.
É só uma opinião, mas acho que essa preocupação com herança existe em linguagens onde há uma preocupação muito forte com o tipo, ou seja, com o que um objeto é. Em Ruby é mais importante o que ele faz (duck typing), então não há muita neura sobre se um objeto é do tipo ActiveRecord::Base ou não.
[quote=peczenyj]Seria interessante debatermos sobre um exemplo.
Por exemplo vc precisa forçar herança? Não bastaria anotações + interfaces em dado momento?[/quote]
Não que eu precise forçar, mas fiquei pensando sobre o assunto, que a maioria dos frameworks Java usando herança, são condiderados mal desenhados,e o Rails usa herança em quase todo framework, por isso a questão.
Um exemplo discutido a mais tempo no fórum foi o Guice, que foi criticado por ter uma classe que teria que ser extendida para fazer bind das suas dependências.