Bonjour à tous,
J'ai quelques questions sur le DP Factory method dont je ne trouve pas les réponses...si une âme charitable pouvait m'éclairer...![]()
D'aprés ce que j'ai compris et cela me semble logique, il n'est pas bon d'instancier une classe (on va dire Produit) directement avec le mot clé new dans le code d'une classe Cliente. Il est aussi préférable d'utiliser des classes abstraites ou interfaces afin que notre classe cliente puisse fonctionner avec toutes les sous classes de Produit, autrement dit developper pour une interface et non pas pour une implementation.
Pour suivre ces conseils, on utilise le pattern Factory method qui définit une interface pour la création d'un objet( on va dire un objet de la classe Produit), mais en laissant à des sous classes le choix des classes à instancier ProduitContretA, ProduitConcretB...
Voila mon souci: J'ai bien compris ces principes qui me semblent logiques, ce que je ne comprends pas, c'est comment le client peut utiliser ces fabrications sans en être couplé a ces dernières...
Autrement dit, si j'utilise une Fabrication (FabricationConcreteA) qui hérite d'une interface ou d'une classe abstraite (Fabrication) et qu'il arrive demain qu'il faille que je change de Fabrication(FabricationConcretB), je me retrouve dans le meme souci, il faut que je cherche dans mon code toutes les instantiations,ce que je veux dire par la, c'est que j'ai l'impression qu'on a seulement repoussé le problème, notre code n'est plus couplé aux produits mais aux fabrications
![]()
A moins que les fabrications ne puissent etre utilisé qu'avec le pattern fabrication Absraite...
Je ne sais pas si j'ai été clair, enfin si vous pouviez me donner des tuyaux sur votre façon de les utiliser cele serait trés sympa...
Merci
Partager