Toda técnica, patrón, lenguaje y método en un proyecto de programación tiene ventajas y desventajas. En este post, te enseñaremos cuáles son las ventajas del patrón PubSub para que definas si es lo que necesita tu proyecto.
¿Qué es el patrón PubSub?
Como puedes leer en nuestro post sobre PubSub vs inyección de dependencias, al igual que en varios de nuestros tutoriales para implementar PubSub y utilizarlo en tus proyectos (que puedes encontrar en la sección sobre desarrollo web en nuestro blog), PubSub es un patrón de diseño.
¿Qué es exactamente un patrón de diseño? En el mundo del desarrollo de software, un patrón es como una receta para solucionar problemas. Es decir, un patrón de software es un estándar que nos va a ayudar a resolver un problema concreto, da igual si estamos en JavaScript, en Python, en el front o en el back.
Entre otros patrones, se encuentran el patrón MVC o modelo vista controlador y el patrón singleton.
En particular, el patrón PubSub nos permite comunicar eventos entre piezas de nuestro proyecto. Entre estas piezas, algunas serán conocidas como publisher, pues serán las encargadas de publicar los eventos, y otras como suscriber, que serán las que escucharán y reaccionarán a dichos eventos.
Como toda técnica en el mundo de la programación, un patrón de diseño tiene ventajas y desventajas. A continuación, te contamos cuáles son las ventajas del patrón PubSub.
¿Cuáles son las ventajas del patrón PubSub?
Principalmente, existen dos ventajas del patrón PubSub que se relacionan entre sí. Ahora te explicamos cada una.
Relación indirecta entre piezas
Una de las ventajas del patrón PubSub es que nos permite separar, por así decirlo, las piezas de nuestro proyecto. Es decir, nos permite tener una relación más indirecta entre piezas que otros patrones. Esto hace que varias piezas puedan estar conectadas a una sola sin tener que consumirla directamente todas, como sí sucede en el patrón de inyección de dependencias.
En aquel patrón, una pieza que se quiera comunicar con otra necesita una instancia nueva de la misma. Gracias el event bus del patrón PubSub, una pieza se conecta al bus de eventos con los métodos suscribe y publish en PubSub. De este modo, no hace falta que las piezas se “conozcan” entre sí para establecer una comunicación. En este sentido, PubSub crea piezas más independientes.
Flexibilidad
La relación indirecta entre piezas nos permite tener flexibilidad en nuestro código. Así, cuando un elemento de la interfaz o la reacción a un evento cambie, no tendremos que empezar de cero. En realidad, lo único que cambiaría sería el segundo parámetro del método suscribe, que establece la reacción. En este sentido, el publisher se desentiende completamente de lo que se haga con el evento que genera.
Además, esta relación indirecta nos permite agregar o eliminar piezas de nuestro proyecto sin problema, pues no es la pieza la que importa, es el evento. Es decir, si la pieza que antes reaccionaba ya no nos sirve, podemos crear y conectar una nueva con pocas líneas de código. Una vez más, las ventajas del patrón PubSub se alinean con la independencia de piezas, evitando posibles errores y estancamientos en nuestro desarrollo.
Al facilitar la independencia entre piezas, estas dos ventajas del patrón PubSub también están facilitando la iteración de código.
Ahora que conoces cuáles son las ventajas del patrón PubSub, te invitamos a leer nuestro post sobre la desventaja de PubSub para que así tengas una vista completa de este concepto.
¿Quieres seguir aprendiendo?
Ahora que sabes cuáles son las ventajas del patrón PubSub, ¡te invitamos a hacer uso de este patrón en tus propios proyectos web! Para seguir conociendo sobre la creación y desarrollo de todo tipo de proyectos, te recomendamos nuestro Desarrollo Web Full Stack Bootcamp, un espacio de formación intensiva donde aprenderás a desarrollar con lenguajes, patrones y herramientas fundamentales para este ejercicio. ¿Quieres seguir aprendiendo con nosotros para convertirte en todo un experto en pocos meses? ¡Matricúlate ya y triunfa en el mercado laboral IT!