Uso de interfaces o clases abstractas con el Patrón Builder

Patrones de Diseño

En esta lección aplicaremos lo aprendido sobre Interfaces y Polimorfismo en el Curso de programación orientada a objetos con PHP para finalizar la aplicación del Patrón Builder, permitiendo así que podamos generar nuevos objetos Builder y asignarlos para construir objetos de diversos tipos. También veremos un poco de teoría sobre el Patrón Builder, sus participantes y los resultados de aplicarlo.

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

Simplificar la construcción de objetos con el Patrón Builder

Patrones de Diseño

Como aprendimos anteriormente, el Patrón Composite nos permite componer diferentes objetos en una estructura de árbol para generar un resultado complejo, sin embargo los pasos para lograr dicho resultado son tediosos y hasta propensos a errores. En esta lección utilizaremos el Patrón Builder el cual nos permitirá simplificar el proceso de construcción de dichos objetos.

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

Aplicación del Patrón Builder (Composición de Objetos)

Patrones de Diseño

El Patrón Builder nos permite separar el proceso de construcción de un objeto de la forma en que dicho objeto es representado, de manera que el mismo proceso de construcción pueda crear resultados diferentes. El código resultante de la lección anterior aún no refleja esto, así que en esta lección voy a utilizar composición de objetos para lograr un diseño más flexible y la aplicación exitosa del Patrón Builder.

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

Patrón Composite: implementación con clases abstractas (sin Interface)

Patrones de Diseño

En las lecciones anteriores hicimos uso de una interfaz de PHP para establecer el contrato requerido por todos los componentes dentro de nuestro Composite, sin embargo esto también es posible solo con el uso de clases abstractas (sin interfaz). En esta lección veremos un nuevo capítulo sobre Refactorización con PHP, en el que te voy a enseñar cómo implementar este patrón con clases abstractas y cómo podemos eliminar una interfaz de manera ordenada usando nuestras pruebas automatizadas con PHPUnit a manera de soporte. También arreglaremos algunos detalles en el código y con esto daremos por completada esta sección del curso.

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

Uso de Caché con el Patrón Composite

Patrones de Diseño

En esta lección veremos un tema muy interesante en lo que al Patrón Composite se refiere: la aplicación e invalidación de caché. En operaciones más complejas es posible que se requiera de un medio de guardar en caché los resultados para evitar tener que recorrer todo el árbol de objetos cada vez que se realice la operación; sin embargo esto también trae un tema importante: la invalidación de caché. En esta lección veremos ambos temas mientras seguimos aprendiendo sobre interfaces, clases abstractas, composiciones de objetos y otras características de la programación orientada a objetos.

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

Limitaciones en el uso del Patrón Composite

Patrones de Diseño

Uno de los objetivos del Patrón Composite es lograr una interfaz común para todos los componentes dentro de una composición, ya sean hojas u otras composiciones más pequeñas. Hasta ahora ya hemos cumplido este objetivo pero solo de forma parcial. ¿Qué sucede, por ejemplo, si intentamos agregar elementos a un elemento hoja? En esta lección veremos algunas técnicas y trucos para normalizar aún más la interfaz de los componentes y citaré también algunas limitaciones adicionales de este patrón.

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

Patrón Composite: aplicación de una interfaz común

Patrones de Diseño

En esta lección vamos a aprender cómo podemos aplicar una interfaz común a todos los elementos (ya sean composiciones u hojas) para de esta manera reducir la lógica condicional necesaria para llevar a cabo la operación sobre dichos elementos. Para esto haremos uso de la determinación de tipos de PHP y de las interfaces como aprendimos en el Curso de programación orientada a objetos con PHP.

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

Patrón Composite: trabajando con elementos de forma recursiva

Patrones de Diseño

En esta lección vamos a escribir la lógica del método render para poder generar un árbol de elementos HTML de manera recursiva. Con esto lograremos la primera parte del patrón Composite que nos indica que podemos trabajar con una serie de elementos anidados (composiciones y hojas) de forma recursiva.

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

Patrón Composite: pruebas unitarias

Patrones de Diseño

En esta lección vamos a utilizar pruebas unitarias y TDD para definir uno a uno los métodos add, remove y getChild que necesitamos para armar composiciones de objetos.

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.

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.