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.
lunes, 18 de agosto de 2014
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.
martes, 8 de julio de 2014
Métodos de Extensión - Extensions Methods
Los métodos de extensión, nos ofrecen la posibilidad de
poder extender las clases de terceros, de poder añadir métodos a clases de las
que no disponemos del código fuente y nos es de utilidad añadirles nuevas
funcionalidades.
Esta característica se añadió en la versión 3.0 del .Net
Framework, y es masivamente utilizada dentro de las librerías de LinQ, especialmente para el tipo IEnumerable<T>, que veremos
con posterioridad en la siguiente entrada.
martes, 24 de junio de 2014
Expresiones Lambda
Vamos con la evolución de los métodos anónimos, para muchos
las muy polémicas y comprometidas Expresiones Lambda.
Aparecieron en la versión 3.0 del Framework y vinieron a ser el apoyo ideal para nuestro bien
amado LinQ. Las Expresiones
Lambda tienen la capacidad de manejar eventos ‘inline’ asignando bloques de código a delegados o eventos,
al igual que lo hacían nuestros métodos
anónimos, pero de una forma más reducida y concisa, ‘echando mano’
de la inferencia de tipos.
Intentaremos desmitificarlas haciendo una comparativa con
los métodos anónimos y
desglosando cada una de sus partes y sus formas de uso.
martes, 29 de abril de 2014
Métodos, Delegados Anónimos
Lo primero para ver este apartado es explicar que podemos
encontrárnoslo como Métodos
Anónimos o Delegados
Anónimos, aunque también podemos referirnos a ellos como Funciones Anónimas, o Funciones o Métodos ‘Inline’.
Aparecieron en la versión 2.0 del Framework y vinieron a cubrir la incapacidad
de poder definir un método dentro de cualquier porción de código, sin tener que
echar mano de la forma clásica [public/private
void/int/string/ … nombreMétodo (parámetros)].
Esto como veremos en la siguiente entrega fue superado por
creces con la introducción de la Expressiones
Lambda en la versión del Framework 3.0 y con el concepto de Inferencia de Tipos, pero como
veremos en esta hay una excepción que poseen los delegados anónimos que no
pueden realizar las Expressiones Lambda.