Développement informatique

Les 23 patrons de conception de Gang of Four – fabrique abstraite

Le patron de Fabrique abstraite est un patron de conception des Gang of Four de la catégorie patron de création qui permet de créer des objets sans spécifier explicitement les classes des objets à créer. Cela permet de centraliser la logique de création d’objets et de rendre le code plus flexible en permettant de changer facilement les objets créés sans modifier le code existant.

Pour mettre en place ce patron, il est nécessaire de créer une interface pour la fabrique abstraite qui définit les méthodes pour créer les différents objets. Cette interface sera implémentée par une ou plusieurs classes concrètes de fabrique, chacune étant responsable de la création d’une catégorie d’objets.

Les classes clientes utiliseront la fabrique abstraite pour créer les objets dont elles ont besoin, sans avoir à connaître les classes concrètes utilisées pour la création.

La fabrique abstraite en PHP peut être utilisée pour créer des objets de différents types en fonction des besoins de l’application. Par exemple, une application de gestion de magasin peut utiliser une fabrique abstraite pour créer des objets de différents types de produits (livres, vêtements, électronique) en utilisant une méthode de création commune, telle que la méthode createProduct() :

abstract class AbstractFactory {
abstract public function createProduct();
}

class BookFactory extends AbstractFactory {
public function createProduct() {
return new Book();
}
}

class ClothingFactory extends AbstractFactory {
public function createProduct() {
return new Clothing();
}
}

class ElectronicsFactory extends AbstractFactory {
public function createProduct() {
return new Electronics();
}
}

// Utilisation de la fabrique pour créer des objets de différents types
$bookFactory = new BookFactory();
$book = $bookFactory->createProduct();

$clothingFactory = new ClothingFactory();
$clothing = $clothingFactory->createProduct();

$electronicsFactory = new ElectronicsFactory();
$electronics = $electronicsFactory->createProduct();

 

 

Nicolas

Recent Posts

Reconversion surprenante : Jérémy Mathieu, star du Barça, devient vendeur chez Intersport !

Du Camp Nou au rayon sport : l'étonnante reconversion de Jérémy Mathieu Après avoir brillé…

10 heures ago

Caen : Les Forman Enflamment la Presqu’île avec Leur Spectacle Événement !

Caen Accueille le Spectacle Incontournable des Forman Caen, préparez-vous à être émerveillés ! Les talentueux…

13 heures ago

Paris SG Champion : Résumé du Match Éprouvant Contre Angers SCO (1-0)

Un Titre de Champion Conquis de Haute Lutte Le Paris Saint-Germain a décroché son titre…

1 jour ago

La Fête de la Nature revient en force dans le Cotentin en mai 2025 !

Le Cotentin célèbre à nouveau la nature ! Préparez-vous à vivre un moment incontournable !…

2 jours ago

Décès d’Amadou Bagayoko : Le monde de la musique malienne en deuil

Amadou Bagayoko, figure emblématique de la musique malienne, s'éteint La scène musicale internationale est en…

2 jours ago

Évreux : L’épicerie sociale, tremplin vers l’emploi pour les bénéficiaires du RSA

L'épicerie sociale d'Évreux : Un nouveau départ pour les bénéficiaires du RSA À Évreux, une…

3 jours ago