Pessoal, gostaria que dessem seus pitacos nesta modelagem que eu fiz. O objetivo é abrir uma aula no sistema, informando quem está presente e quem faltou, mantendo assim o registro das aulas (andamento da turma) e de frequência.
Não ficarei chateado com críticas, pois estou migrando ainda da programação procedural para a O.O. Quero saber mesmo se há algo errado, porque pretendo implementar as outras regras de negócio de maneira semelhante, então é melhor definir uma arquitetura correta desde já.
A minha principal dúvida é sobre a maneira de criar um novo objeto Aula. Do jeito que está, ele é acoplado com os repositórios de aulas e frequência. A mensagem “new Aula(presencas)” não significa necessariamente instanciar direto com new, eu preferia de obter de alguma forma a aula com os repositórios já injetados. Não queria que o container (a aplicação é EJB 3.1 com Glassfish) injetasse direto um objeto Aula novinho em folha porque agora eu posso estar criando uma aula, e daqui a pouco alterando essa aula pra colocar presença para algum aluno atrasado.
A minha ideia era criar uma Factory para a aula, e esta sim receberia os repositórios injetados. Desta forma, eu chamaria a Factory somente na situação de registrar uma nova aula, para alterar uma aula existente eu a obteria do repositório de registro de aulas.
Como diria Mr. Sinhozinho Malta: “tô certo ou tô errado???”



