get_type()) { case 'simple': return new SimpleProductHandler(); case 'variable': return new VariableProductHandler(); default: return new SimpleProductHandler(); } } public function createStrategy(string $type): DataStrategyInterface { switch ($type) { case 'create': return new CreateProductStrategy(); case 'update': return new UpdateProductStrategy(); case 'quick_update': return new QuickUpdateProductStrategy(); case 'custom_update': return new CustomUpdateProductStrategy(); default: throw new \InvalidArgumentException(esc_html("Unknown strategy type: {$type}")); } } }