Duilio Palacios 06/02/2019PHP, VideotutorialComentarios desactivados en Patrón Decorador: Reemplazando condicionales con polimorfismo (uso de método Factory)
En esta lección del Curso de Patrones de Diseño con PHP comenzaré la refactorización de la clase Image para poder aplicar el Patrón Decorador. Primero, voy a reemplazar los condicionales de los diferentes filtros por polimorfismo (concepto que aprendiste en el Curso de programación orientada a objetos con PHP). Por supuesto, voy a apoyarme en las pruebas de instantáneas o...
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 18/01/2019PHP, VideotutorialComentarios desactivados en Variaciones en la implementación del Patrón Observador
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...
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 17/01/2019PHP, VideotutorialComentarios desactivados en Aplicación del Patrón Observer
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...
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 28/09/2018Laravel, VideotutorialComentarios desactivados en Creación de una clase dedicada a filtrar consultas de base de datos en Laravel
En esta lección 38 del curso Crea un Panel de Control con Laravel, haremos una segunda refactorización para crear una clase abstracta llamada QueryFilter, la cual va a contener toda la funcionalidad necesaria para filtrar consultas del constructor de consultas de Eloquent, incluyendo la validación de los filtros. De esta manera podremos separar aún más esta funcionalidad...
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 21/09/2018Laravel, VideotutorialComentarios desactivados en Creación del trait FiltersQueries para filtrar consultas del ORM Eloquent
En esta lección 37 del curso Crea un Panel de Control con Laravel, vamos a refactorizar algunos filtros que hemos colocado en la lección pasada, agregaremos validación, llamadas a métodos de manera dinámica y separaremos la funcionalidad base en un trait de manera de que puedas utilizarlo en diferentes modelos de tus proyectos de Laravel....
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 14/08/2018Laravel, VideotutorialComentarios desactivados en Creación y asociación de tablas y modelos con Laravel
En esta lección 24 del curso Crea un Panel de Control con Laravel vamos a crear una tabla de equipos, junto con su modelo, seeder y model factory y vamos a asociarla con la tabla y el modelo de usuarios usando claves foráneas y Eloquent ORM. Además trabajaremos en los seeders para que al crear un usuario...
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 20/07/2018Laravel, Laravel 5Comentarios desactivados en Compartir datos entre vistas de Laravel con métodos helpers o con objetos Responsable
En esta lección aprenderás dos técnicas nuevas para compartir datos entre vistas: el uso de métodos helpers en los controladores y el uso de objetos Responsable disponibles a partir de Laravel 5.5. Con este videotutorial además daremos por concluida la parte 2 del curso y en la siguiente parte culminaremos el formulario de edición y...
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 15/12/2017PHP, VideotutorialComentarios desactivados en Ejemplo de refactorización: Extraer Clase
Así como queremos limitar la cantidad de líneas y niveles de indentación que un método pueda tener, de manera que no se vuelva tan complejo; muchas veces queremos limitar la cantidad de líneas y métodos en una clase para reducir su complejidad. De hecho, uno de los ejercicios de calistenia de objetos es que mantengamos...
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 13/12/2017PHP, VideotutorialComentarios desactivados en Eliminar variables temporales
Una peculiaridad que habrás podido notar de esta refactorización hasta ahora, ha sido la disminución de variables temporales. Las variables temporales, indispensables en la programación estructurada, suelen dificultar la lectura y la realización de cambios en nuestro código, interponiéndose así en la aplicación de refactorización. En esta lección verás cómo eliminar el uso de una...
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 12/12/2017PHP, VideotutorialComentarios desactivados en Calistenia de Objetos en PHP: No uses else (sentencias de guardia)
La calistenia de objetos son una serie de ejercicios que puedes aplicar para mejorar la legibilidad del código. En esta lección, hablaré sobre el ejercicio que nos pide no utilizar else, también hablaré de las sentencias de guardia o guarda (en inglés, Guard Clauses) y puesto que estos conocimientos no deben ser tomados de forma estricta...
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.