Variaciones en la implementación del Patrón Observador

Patrones de Diseño

El Patrón Observer no solo es conocido con otros nombres como Publish-Subscribe, Dependents o incluso Event-Listener, sino que además su implementación puede variar bastante dependiendo del lenguaje de programación, framework, propósito, entorno (backend como PHP o frontend como JavaScript), entre otros.

Para finalizar esta sección quiero enseñarte algunas variaciones en la implementación de este patrón incluyendo su uso con la biblioteca estándar de PHP o SPL por sus singlas en inglés.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Aplicación del Patrón Observer

Patrones de Diseño

El Patrón Observer nos permite definir una relación o dependencia de uno a muchos entre un Sujeto y muchos Observadores. De manera de que cuando el Sujeto cambie, o se produzca un “evento” dentro de dicho Sujeto, sus Observadores sean notificados. En esta lección vamos a aplicar el Patrón Observer en el proyecto de ejemplo que hemos creado hasta ahora, para ello nos vamos a apoyar en diferentes técnicas de Refactorización y por supuesto en la prueba que hemos escrito con PHPUnit.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Patrón Observer: agregando dependencias y funcionalidad de forma directa

Patrones de Diseño
En esta segunda lección sobre el Patrón Observer, voy a escribir todo el código de ejemplo tanto en la prueba RegistrationTest como en la clase Registration, pero lo haré aún sin aplicar el patrón, de forma que podamos ver cuáles son los inconvenientes que se nos presentan al tratar de agregar funcionalidades adicionales al registro de usuarios.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Patrón Observer: Proyecto de Ejemplo

Patrones de Diseño

En ésta y las próximas lecciones del Curso de Patrones de Diseño con PHP vamos a aprender sobre el Patrón Observer. Para ello, voy a comenzar con un proyecto de ejemplo, el cual usará el código que escribí durante las lecciones del Patrón Strategy, aunque daré una pequeño resumen en caso de que no hayas visto dichas lecciones.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Notificaciones con idiomas dinámicos en Laravel

Notificaciones con idiomas dinámicos en Laravel

Laravel, a partir de la version 5.7.7, nos proporciona un mecanismo para personalizar las notificaciones según la  preferencia de idioma del usuario. En este tutorial te enseñaremos a utilizar esta nueva característica. Para ello crearemos una nueva aplicación que le permitirá al usuario seleccionar su idioma al momento de registrarse y verificaremos que dicho usuario reciba un correo electrónico escrito en el idioma seleccionado.

Ver post

Aplicación del Patrón Strategy

Patrones de Diseño

El Patrón Strategy define una familia de algoritmos, encapsula cada uno y luego los hace intercambiables. Esto se logra utilizando polimorfismo y nos permite desarrollar un sistema más flexible, puesto que, por ejemplo, agregar comportamientos adicionales no requerirá cambiar clases ya existentes en el sistema. En esta lección vamos a aplicar el Patrón Strategy en nuestro ejemplo, para ello utilizaremos diversos métodos de Refactorización y nos apoyaremos en las pruebas automatizadas escritas previamente con PHPUnit.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Patrón Strategy: Agregando comportamiento adicional de manera condicional

Patrones de Diseño

En la lección anterior, creamos un pequeño ejemplo base utilizando Composer, PHPUnit y otras dependencias, en esta lección agregaremos comportamiento adicional a la clase de ejemplo (Mailer) y para ello utilizaremos condicionales, lo cual complicará el código de varias maneras que nos llevarán a visualizar porqué necesitamos aplicar refactorización y un patrón de diseño (en nuestro caso, Strategy) para solucionar los inconvenientes.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Patrón Strategy: Creación del proyecto de ejemplo

Patrones de Diseño

En esta y las próximas lecciones del Curso de Patrones de Diseño con PHP vamos a aprender sobre el Patrón Strategy. Para ello, voy a comenzar creando un nuevo proyecto demo utilizando Composer y a escribir un pequeño ejemplo de una clase para Mailer (para el envío de emails) apoyándome en PHPUnit para el desarrollo guiado por pruebas automatizadas (TDD) y en 2 dependencias para el envío de e-mails y para interactuar con la API de Mailtrap. Esta lección y la siguiente me servirán para plantear el escenario que va a requerir el uso del patrón en la tercera lección. Si solo quieres ver cómo se aplica el patrón puedes pasar a la tercera lección: Aplicación del Patrón Strategy.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.