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 🙂

Comments

2s comentarios

  1. Hola Yhorby,

    Felicidades por el esfuerzo que llevas con el blog, no pierdas la motivación. En lo que concierne al artículo, me parece interesante. Sin embargo, entiendo que podrías enriquecerlo bastando agregando algunos snippets de código que demuestren las diferencias de usar un delegate o no. Los conceptos abstractos es importante aterrizarlos. Continua con el buen trabajo!

    1. Saludos Maximo,
      Gracias por pasarte por mi blog si, tienes razón pronto editare el post para agregar algunos snippets
      gracias por el apoyo colega 🙂 !

Dejar una contestacion

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *