Cuándo y Porqué usar delegados C# ?

etSq-1

Cuándo y Porqué usar delegados C# ?

Si somos relativamente nuevos usando C# o en el mundo de la programación de seguro nos habremos preguntado Cuándo y Porqué usar delegados ? pues en esta entrada daremos respuesta a dicha interrogante.

Que es un delegado ?

Un delegado es un tipo que representa referencias a métodos con una lista de parámetros determinada y un tipo de valor devuelto.

Este puede ser visto como un marcador de posición para un / algunos métodos.

Características de los delegados?

  •  Son similares a los punteros de C ++ de función, pero son de tipo seguros.
  •  Permiten métodos que se pasan como parámetros.
  •  Pueden ser utilizados para definir callback methods (devolución de llamada).
  •  Se pueden encadenar; por ejemplo, varios métodos pueden ser
    llamada en un solo evento.

Cuando usar un delegado?

Los delegados son útiles porque nos ofrecen  la capacidad de personalizar el comportamiento de  los objetos. La mayoría de las veces, podemos  utilizar otras formas para lograr el mismo propósito y no creo que uno puede ser forzado a crear delegados. Es simplemente la manera más fácil en algunas ocasiones para personalizar el comportamiento de los objetos.

nota: No es necesario el uso de los delegados con los parámetros; podemos utilizar delegados con los parámetros y sin parámetros.

Porque usar delegados ?

Cuando trabajamos con delegados, la cantidad de código a refactorizar se reducirá significativamente, ya que en vez de tener un gran número de métodos rígidos cada uno haciendo una tarea muy específica, que tendrá un menor número de métodos mucho más generales que pueden ser mejoradas para manejar una amplia variedad de escenarios posibles. Nuestro código será ampliamente reutilizable.

Los delegados se prestan altamente a producir código altamente reutilizable y seco. Son muy eficaces cuando se usan como devoluciones de llamada (callback) a distintos eventos del sistema, manejo de estructuras de datos que tendrán código común que afectan a sus diversas partes, o si deseamos escribir código en un estilo más funcional, tales como la utilización de técnicas de programación funcionales avanzadas Currying

Hasta aquí la entrada si quieres agregar algún punto a los tópicos ya tratados no dejes de comentar !!

Happy Coding 🙂

Entendiendo las expresiones Lambda C#

Cuando  vemos por primera vez las expresiones Lambda nos  suelen confundir bastante.syntaxLambdaExpresions

¿Qué son las expresiones Lambda?

Son funciones anónimas que se usan frecuentemente para crear delegates en LINQ. Son simples, sin ninguna declaraciones, es decir, sin modificadores de acceso, la declaración de valor de retorno y nombre.

Nota: Un delegado es un tipo que representa referencias a métodos con una lista de parámetros determinada y un tipo de valor devuelto

Están en el lado derecho del operador =>. Una expresión lambda devuelve el resultado de la evaluación de la condición.

Para crear una expresión lambda, especifique parámetros de entrada (si existen) a la izquierda del operador =>lambda, y coloque la expresión o bloque de instrucciones en el otro lado.

¿Por qué necesitamos expresiones lambda?

De seguro te estarás preguntando,  para qué necesitamos estas expresiones. pues bien: Todo esto es conveniencia,  pues estas permiten abreviar el método en el mismo lugar que se usará. Nos ahorra tiempo, espacio y además, es fácil de revisar el código.

Una buena práctica a la hora de crear nuestras expresiones, es que las expresiones lambda deben ser cortas y simples. Una definición compleja de la misma se podría convertir en nuestro enemigo.

 ¿Sintaxis de una expresión lambda?

La definición básica es: Parámetro => Código ejecutado 

aquí un ejemplo:

x => x == 5

 ¿Quieren código?

Si ! pues aqui les va !

static void Main(string[] args)
 {
 Func<int, int, int> f = (a, b) => a + b;

Console.WriteLine(f(2, 3));
 Console.ReadLine();

El código anterior si ya lo probaron y lo leen lo que hace es sumar dos var asi de facil nos ahorra codigo y es mas fácil de leer como dijimos anteriormente

tuto

Está claro que puedes hacer una infinidad de cosas, con las expresiones lambda. Ahora te toca investigar, a ti y si te gusto compartelo , alguna duda, comenta !.

Hasta aquí es todo.

Happy Coding! 🙂