Design pattern : Factory [Résolu]

Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
- - Dernière réponse : malalam
Messages postés
10844
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
- 3 nov. 2007 à 14:27
Salut,

Je me pose une question tout bête.
Est-il judicieux d'embarquer une factory dans une classe abstraite, ou est-il préférable d'utiliser une classe dédiée ?
Dans mon cas, ma classe abstraite aurait deux rôles : être étendue par une classe concrête, et être utilisée comme factory...

Dans une logique de séparation des tâches, il me semble plus judicieux d'avoir une classe qui ne joue que le rôle de Factory et ne fasse rien d'autre.

Mais je me pose quand même cette question...
Afficher la suite 

10 réponses

Meilleure réponse
Messages postés
10844
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
3
Merci
Hello,

bah généralement, je fais la même chose, si ça peut t'aider. Et généralement elle me sert à la fois de factory et de singleton ou de multiton. De toute manière, c'est un appel statique. Inutile de se trimballer une méthode qui peut parfois être lourde (selopn le type d'usinage que tu veuc faire) dans ta classe principale, alors que tu ne vas utiliser cette méthode que pour ton appel. Si elle est dans une classe à part, en statique, tu la vois à peine :-)
Et puis il n'est pas logique que ta classe principale (abstraite, certes, mais parente de tes autres classes) et donc que les classes concrêtes qui vont l'étendre, choisissent elles-même leur usinage. Dans ce cas, l'usinage perd de son intérêt, si chaque classe a le sien : ça s'appelle un constructeur, à ce compte ;-)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 141 internautes nous ont dit merci ce mois-ci

Commenter la réponse de malalam
Messages postés
10844
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
3
Merci
@neige => ben tu mets ton constructeur en privé... et une méthode __clone() qui retourn false ou qui lance une exception.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 141 internautes nous ont dit merci ce mois-ci

Commenter la réponse de malalam
Messages postés
10844
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
3
Merci
Maisd dans ce cas ça t'oblige à mettre l'usine dans la classe, évidemment.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 141 internautes nous ont dit merci ce mois-ci

Commenter la réponse de malalam
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
13
0
Merci
On est bien d'accord...
Merci ^^
Commenter la réponse de neigedhiver
Messages postés
356
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
26 juin 2012
0
Merci
Allez vous coucher, c est quand meme deja 2h...
Suivez mon exemple
Commenter la réponse de zut69
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
13
0
Merci
Tiens, c'est l'anniversaire de mon frère aujourd'hui... Mais si je l'appelle à cette heure-ci... C'est trop tôt peut-être...
Commenter la réponse de neigedhiver
Messages postés
10844
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
0
Merci
Zut!
Commenter la réponse de malalam
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
13
0
Merci
Le problème de la décentralisation de l'usine (oh la blague...) c'est que rien n'empêche alors d'instancier la classe concrête depuis n'importe où, puisque la visibilité de son constructeur doit être publique...
C'est pas dramatique en soit, juste qu'en logique de séparation (éventuelle) des métiers, c'est moins sécurisé...
Ou alors on peut quand même s'assurer que la classe n'est instanciée que depuis l'usine, mais je vois pas comment...
Commenter la réponse de neigedhiver
Messages postés
356
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
26 juin 2012
0
Merci
Maintenant ça doit pas etre trop tot pour souhaiter bon anniversaire à ton frère. J'espère que t as pas oublié ce serait pas sympa...
Commenter la réponse de zut69
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
13
0
Merci
Bienvenue sur 3615 MaVie rubrique Onsenfout

En fait, à 2h du mat, il dormait sans doute pas, étant d'astreinte ce week end... Là, il dort peut-être encore. En tout cas il ne répond pas.

Passionnant non ?

Bon sinon, je cale pour ma Factory que j'aimerais bien qu'on soit obligé de passer par elle pour instancier ma classe concrête...
Commenter la réponse de neigedhiver