Factory Method
PHP 🟡 MidDefinition
Pattern de creation qui delegue l'instanciation d'objets a une methode ou classe dediee, plutot que d'appeler new directement.
Analogie
Comme une commande au restaurant : tu choisis le plat, la cuisine decide comment le preparer.
Exemple de code
class NotificationFactory {
public static function create(string $type): Notifier {
return match($type) {
'email' => new EmailNotifier(),
'sms' => new SmsNotifier(),
'push' => new PushNotifier(),
};
}
}
Cas d'usage
Pour centraliser la logique de creation et decoupler le code appelant des classes concretes.
Anti-pattern
Creer des factories pour des objets simples qui n'ont pas de logique de creation.