galera
estou com uma dúvida aqui
Meu domínio de problema é o seguinte:
eu tenho concursos, que podem ter diversas fases (1ª fase, 2ª fase, etc)
eu preciso listar as fases de um determinado concurso
o que eu costumo fazer nessa situação?
Crio 2 classes, Concurso e Fase
A classe Fase possui um atributo idConcurso (tenho esse id na tabela Fase também), que referencia a qual concurso ela pertence
Para listar as fases de um determinado concurso então eu daria um Select * FROM fase WHERE idConcurso = ?
Mas seguindo orientação a objeto, o certo não seria eu ter uma coleção de Fases na classe Concurso? é uma boa prática fazer assim? me parece mais trabalhoso, apesar de parecer mais orientado a objeto
Na minha opnião, está correto da maneira que vc fez, pois vc apenas recupera o id_concurso e seta os atributos das fases !!! Se vc jogar o método na classe concursos vc vai ter que setar atributos da fase lá, ai sim fica errado.
Eu não me importo muito de como vou recuperar a informação do banco de dados na hora de modelar, mas, você poderia ter um hash ao invés de uma simples coleção, onde o ID é o key do hash e o objeto é a fase em si.
Mas o que eu faria mesmo é ter um ArrayList<Fase> dentro da classe Concurso.
Colocar um idConcurso em Fase não é nada orientado a objetos… O certo é ter a coleção de objetos Fase dentro de concurso. E isso não é trabalhoso não, pelo contrário, traz muitas vantagens. Se está trabalhoso, talvez você esteja fazendo algo errado.
eu não fiz ainda, só pensei um pouco e parecia que seria mais trabalhoso
hehehe
amanhã vou ver como fica e posto os resultados
uma dúvida então…
vocês nem consideram a existência de um banco de dados na hora de fazer a modelagem?