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.
Duilio Palacios 27/11/2019 PHP, VideotutorialComentarios desactivados en Patrón Composite: implementación con clases abstractas (sin Interface)
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.
Duilio Palacios 27/11/2019 PHP, VideotutorialComentarios desactivados en Uso de Caché con el Patrón Composite
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.
Duilio Palacios 27/11/2019 PHP, VideotutorialComentarios desactivados en Limitaciones en el uso del Patrón Composite
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.
Duilio Palacios 27/11/2019 PHP, VideotutorialComentarios desactivados en Patrón Composite: trabajando con elementos de forma recursiva
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.
Duilio Palacios 27/11/2019 PHP, VideotutorialComentarios desactivados en Introducción al Patrón Composite
El patrón Composite nos brinda una manera elegante y sencilla de componer objetos de manera recursiva en una estructura de árbol en la cual cada objeto individual o grupo de objetos puede ser tratado de la misma manera dado que todos compartirán la misma interfaz base. Composite es también un excelente ejemplo de mezcla entre herencia y composición de objetos que aprendimos en el Curso de programación orientada a objetos con PHP. En el siguiente videotutorial veremos una pequeña introducción a este patrón de diseño estructural antes de comenzar a escribir código.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 26/11/2019 PHP, VideotutorialComentarios desactivados en Pruebas unitarias con Mockery
En lecciones anteriores aprendimos cómo usar el Patrón de Arquitectura Gateway en conjunto con «Service Stub» para encapsular y luego simular las dependencias en servicios externos. Una alternativa para probar una clase que dependa de un servicio externo es usar la técnica conocida como «Mocking» con la cual podemos reemplazar y emular el comportamiento de objetos reales con objetos falsos o «mocks».
Una ventaja de los mocks es que éstos nos permiten verificar que ciertos métodos esperados sean llamados, además nos permiten controlar los valores retornados por dichos métodos. Esta técnica es muy útil para reemplazar del todo el uso de servicios externos en nuestras pruebas, sin embargo no podemos confiarnos del uso de mocking al 100% como veremos en la lección siguiente.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 22/11/2019 PHP, VideotutorialComentarios desactivados en Refactorización: Colapsar Jerarquía
Colapsar Jerarquía es una técnica de refactorización -explicada por Martin Fowler en su libro Refactoring- la cual nos invita a combinar una superclase y una subclase cuando éstas no sean muy diferentes entre sí. En esta lección aplicaremos esta técnica para combinar 4 clases en una sola.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 21/11/2019 PHP, VideotutorialComentarios desactivados en 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.
Duilio Palacios 18/11/2019 PHP, VideotutorialComentarios desactivados en 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 definimos en una lección anterior.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Styde usa cookies para guardar tus preferencias y para seguimiento anónimo AceptarLeer más
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.