1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Demora para instanciar classes em orientação a objeto.

Bom dia Pessoal,

Talvez alguém que trabalha algum tempo na área sabe da dificuldade que vou dizer nesse momento. Em muitos casos nossos sistemas tem que trabalhar com uma lista de 1000 objeto, sendo que dentro de cada objeto temos mais uma lista com outros objetos e suas propriedades e etc... ou seja, é uma lista de objetos totalmente carregada que necessitamos para listar numa grid.

Vemos que o SELECT é rápido! Fazer a instrução SQL no banco não é o problema, o problema é fabricar uma lista de 1000 ou mais objetos que citei acima. Isso demora muito! Muitas vezes temos que esperar alguns segundos para que toda lista seja instanciada e possamos trabalhar com a mesma na tela aspx.

Estamos trabalhando com orientação a objeto, carregando da maneira correta. Vale dizer que cada objeto, na maioria dos casos, corresponde a uma tabela do banco de dados, portanto, obedecemos as regras de 1 para N, N para N e etc...

O pessoal que trabalha comigo, muitas vezes, deram uma solução... deixar de trabalhar com objetos (classes) e etc... e trabalhar com datatable, isto é, o SELECT retorna uma datatable e ponto final. Realmente é muito mais rápido DataTable, mas tenho certeza de que nesse ponto, não estamos orientando nada a objeto.

Outra solução e pedir uma servidor mais potente, pois se quisermos trabalhar com orientação a objeto, temos que ter um server bom que processe rápido as coisas.

Alguém tem uma dica, ou alguma idéia de como podemos deixar isso mais rápido, trabalhando com orientação a objeto, com listas de 2000 objetos e etc?

Abs Rodrigo Santik

  • Criar 1000 objetos, mesmo com listas adicionais, não deveria levar tanto tempo. Entretanto, sem ver o código que cria esses objetos não tem como ajudar. Poste o método que faz o select e itera sobre os resultados criando os objetos, assim como os métodos auxiliares, se houver.

    utluiz   20 de ago de 2014
  • Rodrigo Subentendi que se trata de uma app web, correto? Já passei pelo mesmo problema e, resolvi o problema, passando a trabalhar com paginação em todas as grids.

    Romero Dias   20 de ago de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags orientação-a-objetos arquitetura java .net ou faça a sua própria pergunta.