Refactorización: Extraer Superclase

Extraer Superclase es una de las técnicas de refactorización explicadas por Martin Fowler en su libro Refactoring. Con esta técnica vamos a Crear una superclase y mover las características comunes de dos o más clases hacia ésta. En esta lección aplicaremos esta refactorización para eliminar la duplicación de código de nuestras clases de Video....

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

Ver post

Facilita el desarrollo con pruebas automatizadas con «Service Stub»

Service Stub es uno de los «Patrones de Arquitectura de Aplicaciones Empresariales» descrito por Martin Fowler. Este patrón nos permite remover la dependencia de servicios problemáticos durante nuestras pruebas. Estos servicios típicamente involucran la ejecución de tareas pesadas, llamados a API externos, etc. En esta lección crearemos un Service Stub para la interfaz VideoGateway que...

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

Ver post

Unificar Interfaces con el Patrón Adapter, parte 4

En esta lección vamos a cumplir el «Principio de Inversión de Dependencia» de SOLID, mediante la creación de dos interfaces: Styde\Adapter\VideoAdapter y Styde\Video de las cuales van a depender tanto nuestros adaptadores como el resto del código de nuestro sistema....

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

Ver post

Unificar Interfaces con el Patrón Adapter, parte 3

En esta lección continuaremos aprendiendo cómo unificar clases provenientes de un API de terceros para facilitar su uso dentro de tu aplicación sin tener que comprometer la calidad de tu código....

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

Ver post

Unificar Interfaces con el Patrón Adapter, parte 2

En esta lección del Curso de Patrones de Diseño con PHP aprenderemos cómo adaptar una interfaz de terceros para que tenga otra interfaz con la que podamos trabajar de forma más fácil y amigable....

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

Ver post

Unificar interfaces con el Patrón Adapter, parte 1

Adapter convierte la interfaz de una clase en otra que los clientes esperan. De esta forma un Adaptador permite que 2 clases con interfaces incompatibles puedan trabajar en conjunto. En esta lección plantearé un problema común: tener que trabajar con diferentes interfaces de terceros incompatibles entre sí y veremos cómo intentar solucionar este problema con...

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

Ver post

El (anti) Patrón Singleton

El Patrón Singleton nos permite tener una sola instancia de una clase a través del sistema, así como un punto de acceso global a dicha instancia. Este patrón puede resultar útil para clases como Configuración, Preferencias, Logging, Drivers, entre otras; sin embargo, el uso de Singleton nos puede traer problemas para mantener las clases de...

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

Ver post

Creación de una clase de Configuración con PHP y TDD, parte 2

En esta lección del Curso de Patrones de Diseño continuaremos el diseño de la clase de Configuración, esta vez para trabajar en la característica para obtener valores dentro de arreglos anidados. También modificaremos las pruebas dentro de MailerTest para integrar el uso de la clase Config junto con la clase TransportManager. Por último, aprenderemos cómo el uso...

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

Ver post

Creación de una clase de Configuración con PHP y TDD

En esta lección del Curso de Patrones de Diseño voy a diseñar una clase de configuración, con una funcionalidad básica similar a la clase que incluye el framework Laravel, con el objetivo de reemplazar los valores estáticos en nuestras clases y de explicar un poco más adelante los patrones Singleton y Registry....

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

Ver post

Suscríbete a nuestro boletín

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

Suscríbete a nuestro boletín

Recibe consejos útiles, promos y múltiples recursos directamente en tu correo.

Tu nombre y correo serán enviados directamente a MailChimp. No compartiremos tus datos con otras empresas.