« Patrons de conception/Fabrique abstraite » : différence entre les versions
Contenu supprimé Contenu ajouté
→Structure : image fixed |
m correction lien rouge |
||
Ligne 1 :
La '''fabrique abstraite''' est un [[motif de conception]] ''(design pattern)'' [[Motif de conception#Création|créationnel]] utilisé en [[génie logiciel]].
Une fabrique abstraite encapsule un groupe de [[
Par exemple, une fabrique abstraite implantée par une classe ''documentCreator'' fournit une interface pour créer un certain nombre de produits (ex: ''createLetter()'' et ''createResume()''). Le système a à disposition des versions concrètes dérivées de la classe ''documentCreator'', par exemple ''fancyDocumentCreator'' et ''modernDocumentCreator'', qui possèdent chacune leur propre implémentation de ''createLetter()'' et ''createResume()'' pour créer des objets comme ''fancyLetter'' ou ''modernResume''. Chacun de ces produits dérive d'une simple [[classe abstraite]] comme ''Letter'' ou ''Resume'', dont le client a connaissance. Le code client obtient une instance de ''documentCreator'' et appelle ses méthodes de fabrication. Tous les objets sont ensuites créés par le même ''documentCreator'' et ont la même thématique (par exemple, ils seront tous ''fancy''). Le client a simplement besoin de savoir manipuler les classes abstraites ''Letter'' et ''Resume'', et non la version particulière obtenue par la fabrique concrète.
|