Hi la descripcion de Leonardo esta bastante bien para introducir, hay que
leer el libro de patterns de fowler para una descripcion mas formal.

Leonardo plantea algo nada mas que va en contra del concepto creo respecto a
si algo que no va a la base de datos inicializarlo en el constructor
(eagerly) o en una propiedad por ejemplo la primera vez que se llama
(lazy) y plantea que a veces eagerly funciona mas rapido...

Ahora que pasa si en la mayoria de los casos de uso no se accede a esa
prioridad para nada y solo una vez cada tanto para mostrar una lista en
pantalla...me ahorre todas las llamadas "mas rapidas" a construir la
coleccion en memoria...

Es decir, lazy load no solo te ayuda para accesso a base de datos o web
services donde queres ser lazy para ser mas rapido, sino en cualquier caso
en que no siempre necesitas.

Si todo caso de uso necesita una coleccion cargada, hacer lazy no tiene
sentido a mi gusto. es decir, el concepto no es que va a ser mas o menos
optimo, sino la necesidad de tener el dato en memoria en todo momento o no.

Gustavo.
2008/7/2 Leonardo Micheloni <[EMAIL PROTECTED]>:

> Hola,
>  Te doy mi explicación resumida seguramente muchos la van a ampliar.
>  La idea es que, por ejemplo, tengas un objeto que accede a un recurso
> costos (una base de datos por ejemplo) para establecer el valor de una
> de sus propiedades, como puede ser alguna propiedad compleja con
> NHibernate o algo así, entonces, vos no querés que cada vez que se
> instancia ese objeto se vaya a la base de datos y se recupere ese
> valor costoso porque no es seguro que se vaya a utilizar luego, o
> simplemente para que la creación del objeto sea rápida, entonces en
> ese caso utilizás lazy load para la propiedad, es decir, carga
> perezosa, no se carga al principio sino sólo si es invocada.
>
> Esta es la explicación corta y sin muchas variante, seguramente te la
> van a ampliar, sino con esto te alcanza para introducirte y ver vos
> las variantes, de todos modos en caso que el recurso no sea la base de
> datos, sino por ejemplo la inicialización de una colección algo así,
> mejor probá con qué método (inicializando en el constructor o por
> lazzy load) funciona mejor, porque me he encontrado en ocasiones con
> exáctamente lo contrario a lo que indica la teoria, imagino que por
> optimizaciones del compilador, pero bueno, es un caso, el concepto es
> el que te conté.
>
> Saludos,
>  On 7/2/08, xWin2 <[EMAIL PROTECTED]> wrote:
> >
> > Hola a TODOS!
> >
> > Alguien me puede explicar que es y como se utiliza el patrón Lazy Load?
> > Cuando conviene utilizarlo, etc...
> >
> > Si tienen algunos links para ampliar y en español, mejor! jeje
> >
> > SALUDOS.
> >
> >  ________________________________
> >
> > ¡Buscá desde tu celular! Yahoo! oneSEARCH ahora está en Claro
> >  http://ar.mobile.yahoo.com/onesearch
>
>
> --
> Leonardo Micheloni.
> Ayudando a organizar las primeras jornadas ágiles de Latinoamérica
>
> http://agiles2008.org/
>
> Blog Personal
>
> http://leomicheloni.blogspot.com/
>
>

Responder a