PHP avanzado: Herramientas profesionales

El patrón de Factory

¡Prueba gratis durante 10 días

nuestros 1203 cursos !

Prueba gratis Mostrar modalidades de suscripción
A veces, la creación de un objeto puede ser mucho más compleja que realizar un simple constructor. Veamos con un ejemplo sencillo cómo podemos solventar la repetición de código con el patrón de diseño de Factory.
03:29

Transcripción

El patrón de Factory es uno de los patrones más utilizados en la industria. Como su nombre lo indica, su función es ser un creador de objetos. Factory en sí es una abstracción del constructor de una clase. Si bien un constructor crea instancias de una sola clase, al usar Factory podemos instanciar varias clases. Nos ayuda cuando la construcción de un objeto es bastante compleja. Veamos el ejemplo simplificado para comprender más este patrón. Tenemos una clase cuyo constructor no es tan sencillo. Para crear una instancia de 'computer', adicionalmente necesitamos las instancias de 'hard_drive', 'ram' y 'monitor'. Vamos a instanciarlo de la siguiente forma: 'my_computer es igual a new, computer'. Y dentro de 'new computer' vamos a tener: primer argumento 'new ram', de unos 32 gigabits. El segundo argumento es 'new, HardDrive de 500 gigabits' –vamos a esconder la barra lateral– y el último parámetro es 'new monitor' de 40 pulgadas. Aquí es donde nos puede ayudar el patrón a simplificar la construcción de nuestro objeto. Vamos a crear una nueva clase llamada 'ComputerFactory' y vamos a crear el método 'public static function create'. Y vamos a pasarle tres parámetros: 'ram_size', 'hard_drive_size' y por último 'monitor_size'. Y vamos a ir creando las instancias dentro de nuestra clase con: 'ram es igual a new ram, ram_size'. Creamos una igual que se va a llamar 'hard_drive', y simplemente le pasamos el parámetro de 'hard_drive' y le cambiamos la clase a 'hard drive'. Y por último, vamos a pasarle el monitor con: 'monitor, new monitor' y el tamaño de 'monitor_size'. Listo. Y vamos a crear la instancia 'return new computer', y vamos a pasarle los parámetros de 'ram', 'hard_drive' y 'monitor'. Y para instanciar la clase de 'computer' lo hacemos de una manera más sencilla con 'my_new_computer' va a ser igual a ComputerFactory, dos puntos, dos puntos, create' y simplemente le pasamos los tamaños con una de 12 gigabits, uno de 1 terabit y 30 pulgadas. Y dejamos que la clase 'ComputerFactory' sea la que cargue con toda la complejidad. El patrón de Factory no siempre es la mejor opción, pero en casos cuando la construcción de un objeto es bastante compleja, es una excelente alternativa.

PHP avanzado: Herramientas profesionales

Aprende que PHP va mucho más allá que manejo de formularios y páginas web y puedes usar herramientas que hacen que PHP se convierta en una gran opción para aplicaciones robustas.

1:37 horas (24 Videos)
Actualmente no hay comentarios.
 

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.