ファクトリパターンの特定の側面を明るくします。
ファクトリメソッドを使用するのはいつですか?
私のチームでは、ファクトリデザインパターンについての議論がありました。
私たちのプロジェクトには、次のように構築されたいくつかのファクトリがあります。
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();
}
}
議論はこの工場の使用についてでした。製品を動的に定義せず、常に製品から受け取りたい製品を定義する場合、このパターンを使用する必要はありますか?