Pessoal:
Uma questão para os experts em OO: Em um classe que faz referência a uma coleção de objetos de outra classe, qual a melhor abordagem: criar uma coleção (ou um array) apenas com Id´s (sendo que cada objeto da outra classe possui um Id) ou uma coleção de objetos, considerando os aspectos de performance, utilização de memória e simplicidade para persistência, além, claro, das boas práticas.
Ex.:
public class Livro
{
private long id;
private String nome;
private String isbn;
…
}
public class Autor
{
private String Nome;
private Livro[] livros; // Array de objetos ‘Livro’
…
}
<<ou>>
public class Autor
{
private String Nome;
private long[] livros; // Array apenas com Id´s de objetos ‘Livro’
}
Entendo que as melhores práticas apontam para a primeira abordagem. Porém, no caso de se popular um objeto ‘Autor’ a partir de uma base de dados, teriam que ser lidos e criados “n” objetos ‘Livro’ completos, enquanto que com a segunda abordagem seria carregado apenas o array de Id´s e os objetos ‘Livro’ seriam carregados sob demanda.
Alguém quer dar palpites ?
Thank´s
Mauricio Ortensi