Estou com uma dúvida, se eu estiver criando um modelo de objeto, por exemplo Pedido, e este pedido tem um funcionario
relacionado no banco de dados, porque todo pedido tem um funcionario
, enfim qual seria melhor eu utilizar:
public class Pedido {
private int cod_mesa;
private float valor;
private int qtdProduto;
private Funcionario funcionario;
}
ou
public class Pedido e{
private int cod_mesa;
private float valor;
private int qtdProduto;
//uma chave estrangeira para depois buscar o funcionario correspondente
private int idFuncionario;
}
tendo em vista que no código eu vou fazer a requisições no meu web service, qual seria a maneira mais rápida, na primeira opção vou fazer duas requisições, e na segunda vou fazer uma requisição só que bem mais longa, qual é a melhor maneira ?
Depende, você sempre precisa do funcionário quando busca um pedido? Se não precisa, pode usar só o ID do funcionário, porque nos casos que não precisa, vai ser um pouquinho mais rápido. Não acho que isso seja um gargalo de performance. Não se preocupe em escrever a aplicação mais otimizada do mundo através desses detalhes, mas em escrever uma aplicação que funcione. Depois disso, se existirem gargalos, você pode otimizar.
Obrigado pela ajuda ivbarbosa
@jvictororiz, quando falamos sobre orientação a objetos, podemos esquecer as referências como id. Esta é uma referência que foi importada da programação estruturada, onde existe a necessidade de referenciarmos a conexão entre uma entidade e outra através de chaves. No mundo dos objetos, você ainda possui cardinalidade, mas, ela é entendida de outra maneira.
Objetos utilizam composição ou agregação, até mesmo herança e, teoricamente, poderiam dispensar coisas como os ‘ids’, que, especificamente falando, se referem a primary keys dos bancos de dados relacionais.