He visto numerosos ejemplos de carga lenta: ¿cuál es tu elección?Carga lenta: ¿cuál es el mejor enfoque?
dado una clase de modelo, por ejemplo:
public class Person
{
private IList<Child> _children;
public IList<Child> Children
{
get {
if (_children == null)
LoadChildren();
return _children;
}
}
}
La clase de persona no debe saber nada acerca de la forma en que los niños son cargado .... o debería? Seguramente debería controlar cuando las propiedades están pobladas, o no?
¿Tendría un repositorio que combina una persona con su colección de hijos o utilizaría un enfoque diferente, como utilizar una clase lazyload? Incluso entonces, no quiero una clase diferida borrosa en la arquitectura de mi modelo.
¿Cómo manejarías el rendimiento si primero solicitaste una Persona y luego sus Hijos (es decir, no cargas perezosas en esta instancia) o de alguna manera la carga es floja?
¿Todo esto se reduce a una elección personal?
Problema: este es a menudo un gran ejemplo de optimización local a expensas de la optimización global. – dkretz