Como Usar el Patrón de Diseño “Factory Method” o Método Factory en PHP 8

5 minuto(s)

Con las nuevas versiones de PHP podemos crea lógicas más profesionales dentro de nuestro código, cuando digo lógica, me refiero a cierta forma o método de escribir código. Uno de estos métodos es el “Factory Method” o método Factory, asi se ve más práctico, a pesar que si traducimos las palabras Factory Method significan “Método de fábrica”. El Factory Method es un patrón de diseño que nos permite optimizar nuestro proyecto. En este Post te enseñare a Como Usar el Patrón de Diseño “Factory Method” o Método Factory en PHP 8, vamos con ello.


Antes de continuar te invito a leer los siguientes artículos:

Asimismo, te invito a escuchar el Podcast: “5 Consejos para ser un Programador más Productivo” (No son los clásicos consejos técnicos de programación, si no de rutinas y buenos hábitos cotidianos) y “Qué Es NoCode Development (Anchor Podcast)

Spotify: Sound Cloud: Apple Podcasts Anchor Podcasts

Bien ahora continuemos con el Post: Como Usar el Patrón de Diseño “Factory Method” o Método Factory en PHP 8. 

Digamos que tenemos una clase de carrito de compras llamada modeloCarrito() y esa clase contiene métodos para almacenar en caché RedisDB y en MySQL, los datos del carrito de compra y conservarlos durante mucho tiempo.


Aquí está una clase en blanco, ahora necesitamos implementar estos métodos. De hecho, el objetivo de cada uno de ellos es conectarse a la base de datos deseada y almacenar en ella datos del carrito de comprar. Gracias al patrón de diseño Factory Method, moveremos el código común (guardado) para todas las clases que trabajan con bases de datos a una clase abstracta. Y la funcionalidad asociada a la conexión será diferente para cada base de datos, por lo que la sacaremos por separado utilizando la interfaz común.


Implementemos una clase concreta para RedisDB.


De la misma manera creamos una clase para la base de datos MySql.


Es con estas clases de base de datos que acabamos de crear que funcionará nuestro carrito de compras. Pero la interfaz de los conectores aún no está escrita. Necesitaremos métodos para conectarse a la base de datos, desconectarse y, por supuesto, guardar datos. En el futuro, será posible ampliar la interfaz con varios métodos, pero por ahora esto es suficiente.


No describiré las implementaciones de los conectores RedisDB, todo se puede implementar allí de manera bastante estándar:


Igualmente para MySQL, todo se puede implementar allí de manera bastante estándar:


Todo está listo para ser utilizado en los métodos de nuestra clase modeloCarrito():


Puedes ver en el método cache() y save() hacemos uso de try – catch para usar nuestros métodos Factory creados anteriormete.

Gracias al uso del patrón de diseño Factory Method podemos acceder a diversas bases de datos dentro de modelos como un carrito de compra sin preocuparnos de las tareas: conexión, guardado, formateo de datos, desconexión, etc. Evitamos la duplicación de código, la carga excesiva en métodos y clases.

Conclusión

En este Post hemos aprendido a trabajar con el Patrón de Diseño “Factory Method” o Método Factory en PHP. Al principio te puede parecer confuso, pero conforme lo uses en tus proyectos, lograrás comprenderlo y dominarlo. Recuerda que la práctica hace al maestro.

Nota(s)

  • No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo. 

 

Síguenos en las Redes Sociales para que no te pierdas nuestros próximos contenidos.