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.

Anuncio publicitario