.
Alguém?
Olá,
Eu não deixaria tudo no BD (sua última opção)
Teria um atributo protected Map<String, Object> que armazenaria TODOS os atributos de cada organismo:
[code]class Organismo {
//String -> Nome do atributo
//Object -> Valor do atributo (observe que poderá ser necessário o uso de casting)
protected Map<String, Object> parametros;
//exemplo de get/set
public void setNome(String nome) {
parametros.add(“nome”, nome);
}
public String getNome() {
return (String) parametros.add(“nome”);
}
}[/code]
Quanto ao tipo, usaria Organismo.class.getName() e o resultado utilizaria para indicar qual o classe utilizar.
Utilizaria uma Factory que, por reflexão faria isso.
Na base de dados, guardaria os parametros numa tabela de atributos “associada” ao organismo.
Posso ter, assim, n tipos de organismos mas sem ter que criar tabelas específicas a cada um.
Posso ter n tipos de classes com uma construção “mais simples” mas com uma Factory um pouco mais complexa.
Espero que ajude
Obs.: Estou omitindo partes importantes do código para simplicidade do entendimento da idéia
Obs2.: Desculpe a demora na resposta. Esqueci deste tópico.