Modelagem

.

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 :wink:
Obs2.: Desculpe a demora na resposta. Esqueci deste tópico.