Es uno de lo mas usados, sirve para crear objetos a traves de un metodo estatico.
la ventaja es que si la clase del objeto a crear cambia, simplemente se modifica el metodo de la clase factory.
en el resto de lugares donde se usa el metodo de creacion quedan igual.
****
<?php
class Automobile
{
private $vehicle_make;
private $vehicle_model;
public function __construct($make, $model)
{
$this->vehicle_make = $make;
$this->vehicle_model = $model;
}
public function get_make_and_model()
{
return $this->vehicle_make . ' ' . $this->vehicle_model;
}
}
class AutomobileFactory
{
public static function create($make, $model)
{
return new Automobile($make, $model);
}
}
// have the factory create the Automobile object
$veyron = AutomobileFactory::create('Bugatti', 'Veyron');
print_r($veyron->get_make_and_model()); // outputs "Bugatti Veyron"
****STRATEGY
No hay comentarios:
Publicar un comentario