public function makeProducts(AbstractFactory $factory) { $productA = $factory->createProductA(); $productB = $factory->createProductB(); $stdObject = new \stdClass(); $stdObject->attributeA = $this->getAttributeA($productA); $stdObject->attributeB = $this->getAttributeB($productB); return $stdObject; }
/** * 调用工厂实例生成产品,输出产品名 * @param $factory AbstractFactory 工厂实例 */ public static function run(AbstractFactory $factory) { $productA = $factory->createProductA(); $productB = $factory->createProductB(); printf("%s\n%s\n", $productA->getName(), $productB->getName()); }