【发布时间】:2017-08-25 06:28:08
【问题描述】:
我有抽象类工厂 Factory 和工厂方法 getProduct() 和他的子类。
我有抽象类产品Product 和他的子类。
Classes-factories 创建了 classes-products 的对象。
abstract class Factory {
abstract function getProduct();
}
class FirstFactory extends Factory {
public function getProduct() {
return new FirstProduct();
}
}
abstract class Product {
};
class FirstProduct extends Product {
}
结果我可以使用这个客户端代码:
$factory = new FirstFactory();
$firstProduct = $factory->getProduct();
$factory = new SecondFactory();
$secondProduct = $factory->getProduct();
问题:这种模式需要什么?因为在客户端代码中我只能使用直接类:
$firstProduct = new FirstProduct();
$secondProduct = new SecondProduct();
【问题讨论】:
标签: design-patterns factory-pattern