Buscar en la base de conocimientos
< Todos los temas
Imprimir

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.

Sidebar