POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

La tarea de entrevista insólita que resultó muy común

La tarea de entrevista insólita que resultó muy común

Publicado el 19/08/2025

Una tarea de entrevista inusual que resultó ser muy común: durante una entrevista me pidieron implementar un EventEmitter, una tarea que al principio pareció emocionante y fuera de lo habitual pero que, al resolverla, descubrí que es un patrón muy común y útil en el desarrollo de software.

Objetivo: crear una clase EventEmitter con las siguientes capacidades: suscribir varias funciones a un mismo evento, permitir darse de baja incluso si la función es anónima y emitir eventos con argumentos llamando a todas las funciones suscritas.

Paso 1 en el diseño del método on: almacenar todos los callbacks para un nombre de evento en un array y, si no existe, inicializarlo. Para poder dar de baja funciones anónimas devolvemos desde on una función de unsubscribe. De este modo, la suscripción devuelve un manejador que permite eliminar esa escucha sin necesidad de mantener una referencia externa a la función. Esta técnica facilita además extender el listener con opciones como once o prioridad.

Paso 2 en el diseño del método off: eliminar un listener implica filtrar el array de escuchas por una condición que compare tanto el objeto listener como la función original. De esta forma off acepta como argumento tanto el objeto listener devuelto por on como la propia función, permitiendo una mayor flexibilidad al cancelar suscripciones.

Paso 3 en el diseño del método emit: al disparar un evento se llaman todas las funciones suscritas con los argumentos proporcionados. El punto delicado es que durante la iteración una escucha podría autoeliminarse, provocando inconsistencias si se modifica el array mientras se recorre. La solución práctica es iterar sobre una copia del array, por ejemplo usando slice, para garantizar que la ejecución sea estable independientemente de cambios durante el recorrido.

Resultado: una implementación simple y robusta que soporta múltiples listeners, cancelaciones seguras incluso para funciones anónimas y evita problemas al modificar la lista de escuchas durante la ejecución. Además esta base es fácilmente extensible para añadir listeners que se ejecuten solo una vez, prioridades, límites de concurrencia u otras características útiles en aplicaciones reales.

¿Qué mejoras se podrían añadir para entornos productivos? Entre las ideas útiles: manejo de errores en callbacks para evitar que una excepción detenga las demás llamadas, límites de listeners por evento, métricas y telemetría sobre frecuencia de eventos, soporte para listeners asíncronos que respeten orden y concurrencia, y políticas de prioridad y retraso. También considerar una versión compatible con servicios distribuidos o pubsub para casos de microservicios o arquitecturas en la nube.

En Q2BSTUDIO aplicamos principios como estos en nuestros desarrollos de aplicaciones a medida y software a medida. Somos especialistas en inteligencia artificial, ciberseguridad y soluciones cloud. Ofrecemos servicios cloud aws y azure, servicios inteligencia de negocio y desarrollos de ia para empresas. Implementamos agentes IA, integraciones con Power BI y arquitecturas seguras para garantizar que las aplicaciones a medida escalen y cumplan con los requisitos de negocio.

Si necesitas un EventEmitter mejorado o una solución a medida para tu producto, en Q2BSTUDIO diseñamos e implementamos componentes robustos dentro de proyectos más amplios de software a medida. Combinamos experiencia en inteligencia artificial, ciberseguridad y servicios cloud AWS y Azure para ofrecer soluciones que integran agentes IA, análisis con Power BI y servicios inteligencia de negocio, todo orientado a maximizar el valor y la seguridad de tus datos.

Palabras clave destacadas: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Si quieres optimizar tu arquitectura de eventos, mejorar la escalabilidad o incorporar capacidades de inteligencia artificial en tus productos, contacta con Q2BSTUDIO para una consultoría especializada.

¿Qué añadirías tú a este EventEmitter para hacerlo apto para producción en tu proyecto? En Q2BSTUDIO podemos ayudarte a evaluar requerimientos y a implementar la solución más adecuada para tus necesidades de negocio y tecnología.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio