Note : Les questions se trouvent à la fin de l'article.
J'ai lu les autres fils de discussion de stackoverflow concernant Usine abstraite et méthode d'usine . Je comprends l'intention de chaque modèle. Cependant, je ne suis pas sûr de la définition.
La méthode Factory définit une interface pour créer un objet, mais laisse sous-classes décider lesquelles de ces interfaces instancier. Une méthode d'usine permet aux classes de différer l'instanciation aux sous-classes.
En revanche, une fabrique abstraite fournit une interface pour créer des familles d'objets liés ou dépendants dépendants sans spécifier leurs classes concrètes.
Le site Usine abstraite ressemble beaucoup à la Méthode d'usine . J'ai dessiné quelques classes UML pour illustrer mon propos.
Note :
- Les diagrammes sont tirés de www.yuml.com Ils ne sont donc pas parfaitement orientés. Mais c'est un service gratuit :).
- Les diagrammes peuvent ne pas être parfaits. Je suis encore en train d'apprendre le GoF les modèles de conception.
Méthode d'usine :
Usine abstraite (1 seul membre) :
L'usine abstraite :
Questions :
- Si le Usine abstraite n'a qu'un seul créateur et un seul produit, est-ce encore le Usine abstraite modèle ? (une interface pour créer des familles)
- Est-ce que le Méthode d'usine Le créateur concret peut être créé à partir d'une interface ou doit-il être issu d'une classe ? (les classes reportent les instanciations aux sous-classes)
- Si l'usine abstraite ne peut avoir qu'un seul créateur et un seul produit, est-ce que la seule différence entre l'usine abstraite et l'usine de production est la suivante ? Usine abstraite et le Méthode d'usine que le créateur de la première est une interface et que le créateur de la seconde est une classe ?