Pessoal estou com dificudades em definir um modelo de classes para a seguinte situação
Uma atividade contém perguntas(que podem se repetir entre as outras atividade) e essas perguntas contem respostas precadastradas, para cara resposta dada devem ser inseridos um ou mais documentos na atividade, mas esses documentos variam de acordo com a atividade.
Por exemplo:
Para a atividadeA tem a Pergunta 1 que tem as respostas R@ que inclui o doc1 na atividadeA
R# que inclui os doc2, doc3 na atividadeA
Para a atividadeB tem a Pergunta 1 que tem as respostas R@ que inclui o doc4 na atividadeB
R# que inclui os doc5, doc6 na atividadeB
No banco de dados eu teria uma tabela associativa entre os atividade pergunta resposta e documentos
tabela ContextoDocumento
{
int idAtividade,
int idPergunta,
int idResposta,
int idDocumento
}
como isso ficaria em um modelo de classes?
Inicialmente fiz o seguinte
class Atividade
{
private List<Pergunta> perguntas;
private List<Documentos> documentosAssistidos;
}
class Pergunta
{
private List<Respostas> respostas;
private Atividade atividadeVigente;
setRespostaSelecionada(Resposta resposta)
{
atividadeVigente.documentosAssistidos.addAll(resposta.documentos);
}
}
class Resposta
{
private List<Documentos> documentos;
}
Isso não procede porque um resposta, que pode estar em várias outras perguntas (ex: sim e não podem estar nas perguntas A, B e C), teria sempre a mesma lista de documentos para qualquer pergunta, que a contivesse, independente da atividade.
Grato,