lunes, 18 de agosto de 2014

Ejecución Diferida (Lazy Loading)




La ejecución perezosa o diferida (Lazy Loading) es el comportamiento por defecto que usa LinQ para ejecutar, valga la redundancia, sus métodos extensores. A grandes rasgos viene a significar que los métodos no se ejecutan en el momento de realizar su llamada, sino que se ejecutan en el momento en que consumimos (utilizamos) alguno de los datos devueltos por esta llamada. Con todo esto el motor de LinQ se asegura el no realizar cálculos, cargas de datos, etc., que el usuario no necesite en ese momento.



domingo, 17 de agosto de 2014

IEnumerable, Entendiendo las secuencias ...


La Iterface IEnumerable<T>, es una de las partes más importantes de todo el mundo de LinQ, ya que todos sus métodos extensores están realizados sobre este tipo y prácticamente todos ellos devuelven objetos de este mismo tipo.

 Podemos entenderla como la mínima expresión de una colección, y prácticamente la mayoría de las colecciones del Framework la implementan (List<T>, Observable<T>, Arrays, etc). En esta parte tenemos que indicar que hay una minoría de ellas que no lo hacen y que principalmente están formadas por colecciones especiales de controles gráficos, tales como el UIElementCollection que es la colección en la que se guardan los objetos contenidos dentro de un Grid de WPF. Cuando estemos acostumbrados a trabajar con LinQ y nos encontremos con una de estas colecciones, lo primero que pensaremos es que o nos falta algún using, o el intellisense o el propio Visual Studio nos están jugando una mala pasada. Un poco más adelante dentro del curso aprenderemos a convertirlas fácilmente en colecciones compatibles con la tecnología.