Пример #1
0
 public function getProducerFactory($string)
 {
     $factory = new FactoryProducer();
     return $factory->getFactory($string);
 }
Пример #2
0
        }
        if (strtoupper($factoryType) == "RED") {
            return new RedShapeFactory();
        } else {
            if (strtoupper($factoryType) == "GREEN") {
                return new GreenShapeFactory();
            } else {
                if (strtoupper($factoryType) == "BLUE") {
                    return new BlueShapeFactory();
                }
            }
        }
        return NULL;
    }
}
$producer = new FactoryProducer();
// producing set of red widgets
$redFactory = $producer->getFactory("Red");
$shape1 = $redFactory->getShape("CIRCLE");
$shape2 = $redFactory->getShape("RECTANGLE");
$shape3 = $redFactory->getShape("SQUARE");
$shape1->draw();
$shape2->draw();
$shape3->draw();
// producing set of green widgets
$greenFactory = $producer->getFactory("Green");
$shape4 = $greenFactory->getShape("CIRCLE");
$shape5 = $greenFactory->getShape("RECTANGLE");
$shape6 = $greenFactory->getShape("SQUARE");
$shape4->draw();
$shape5->draw();