减轻以下方面的特定方面:
工厂模式。什么时候使用工厂方法?
在我的团队中,有一个关于工厂设计模式的讨论。
在我们的项目中,我们有一些像这样构建的工厂:
class ProductFactory {
const PRODUCT_A = 'product_a';
const PRODUCT_B = 'product_b';
const PRODUCT_C = 'product_c';
private static $classMapping = array(self::PRODUCT_A => 'A',
self::PRODUCT_B => 'B',
self::PRODUCT_C => 'C');
public function create($productConstant) {
$className = self::$classMapping[$productConstant];
return new $className();
}
}
讨论是关于这家工厂的用途。如果我从不动态定义产品并且总是定义我喜欢从中获得的产品,是否有必要使用这种模式?