Ajuda/Dica com Diagrama de Classes

3 respostas
wilsontads

Sei que quando nós temos atributos e métodos que serão comuns a mais de uma classe, nós usamos as classes abstratas. Gostaria de uma ajuda/dica, de como eu poderia estar fazendo para evitar a redundancia desses métodos que são operações basicamente caracteristicas dos DAO’s.

3 Respostas

ViniGodoy

Não. Não é por isso que usamos classes abstratas. Usamos para representar uma relação é um.
Por exemplo, no seu modelo, você está dizendo que um usuário é um Role. Conceitualmente, isso não parece fazer o menor sentido.

wilsontads:
Gostaria de uma ajuda/dica, de como eu poderia estar fazendo para evitar a redundancia desses métodos que são operações basicamente caracteristicas dos DAO’s.

Além de herança, que geralmente é a pior opção, existe outra forma de eliminar redundâncias de métodos: criar uma nova classe, que trata do que os métodos repetidos tratam (as vezes mais de uma é necessária) - No seu caso, a hierarquia dos DAOs está pedindo para nascer. Você pode criar uma classe só para gerenciar um pool de conexões, outra para os DAOs em si.

Flavio_machine

Concordo com vc aqui
"Sei que quando nós temos atributos e métodos que serão comuns a mais de uma classe, nós usamos as classes abstratas. "
se a relação “é um”, sinal que tem atributos é métodos comuns.

ViniGodoy

Flavio machine:
Concordo com vc aqui
"Sei que quando nós temos atributos e métodos que serão comuns a mais de uma classe, nós usamos as classes abstratas. "
se a relação “é um”, sinal que tem atributos é métodos comuns.

Ter vários atributos e métodos iguais é um sintoma. Um sintoma de que pode ser que haja uma superclasse.

Agora, sem a relação “é um”, não deveria haver uma superclasse. Então,o mais provável que ocorra é a criação de uma outra classe, e um atributo dessa outra classe na superclasse, ou mesmo em todas as classes onde havia a repetição.

Criado 14 de outubro de 2010
Ultima resposta 14 de out. de 2010
Respostas 3
Participantes 3