Buscar en la base de conocimientos
Ejemplo de patron de diseño factory en php
abstract class Producto { // Propiedades y métodos de la clase abstracta Producto } class ProductoA extends Producto { // Propiedades y métodos de la subclase ProductoA } class ProductoB extends Producto { // Propiedades y métodos de la subclase ProductoB } class ProductoFactory { public static function crearProductoA() { return new ProductoA(); } public static function crearProductoB() { return new ProductoB(); } } // Crear un objeto de la subclase ProductoA $productoA = ProductoFactory::crearProductoA(); // Crear un objeto de la subclase ProductoB $productoB = ProductoFactory::crearProductoB();
En este ejemplo, la clase ProductoFactory
tiene dos métodos estáticos: crearProductoA
y crearProductoB
. Cada uno de estos métodos simplemente crea y devuelve un objeto de la subclase correspondiente (ProductoA
y ProductoB
, respectivamente).
En la parte inferior del ejemplo, se crean objetos de las subclases ProductoA
y ProductoB
utilizando los métodos estáticos crearProductoA
y crearProductoB
de la clase Factory.