El patron de diseño Lazy Loading

El Lazy Loading es un patron de diseño util y simple que se basa en ir cargando los distintos componentes de una clase cuando los vamos usando.

Por ejemplo, supongamos que tenemos una clase que nos gestiona una lista e links, y esta tiene este aspecto:

public class Links
{
#region members
private string _title;
private int _quantity;
private
LinkCollection _linkList;
#endregion
#region properties
public string Title
{
get { return _title; }
set { _title = value; }
}
public int Quantity
{
get { return _quantity; }
set { _quantity = value; }
}
public LinkCollection LinkList
{
get { return _linkList; }
set { _linkList = value; }
}
#endregion
}

Si implementamos el lazy loading, el valor de la colección de links inicialmente sería nulo, y en el momento a que usamos la propiedad con la que lo exponemos, sería cuando cargamos la susodicha colección.
Esta implementación, tendría este aspecto:

public LinkCollection LinkList
{
get
{
if(_linkList == null)
{
_linkList = new LinkList();
}
return _linkList;
}
set { _linkList = value; }
}

Como veis es un patron simple, util y facil de implementar y con el ganareis un poquito en el performace de vuestras aplicaciones.

Enlaces relacionados

Otros patrones de diseño en A deshoras

Si os surge alguna duda, no dudeis en dejar comentarios que respondere gratamente.

5 pensamientos en “El patron de diseño Lazy Loading

  1. El patrón de diseño Singleton « a deshoras

  2. Tienes toda la razón, pero no se muy bien como hacerlo sin ir poniendo espacios y que me cueste una eternidad.

    Gracias por el cumplido y por visitar el blog.

    Saludos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s