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.