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.