Design pattern : Factory

Résolu
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 - 3 nov. 2007 à 01:46
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre 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...

10 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 nov. 2007 à 01:57
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 ;-)
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 nov. 2007 à 14:25
@neige => ben tu mets ton constructeur en privé... et une méthode __clone() qui retourn false ou qui lance une exception.
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 nov. 2007 à 14:27
Maisd dans ce cas ça t'oblige à mettre l'usine dans la classe, évidemment.
3
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
3 nov. 2007 à 02:01
On est bien d'accord...
Merci ^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
3 nov. 2007 à 02:07
Allez vous coucher, c est quand meme deja 2h...
Suivez mon exemple
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
3 nov. 2007 à 02:44
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...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 nov. 2007 à 12:41
Zut!
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
3 nov. 2007 à 13:48
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...
0
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
3 nov. 2007 à 13:51
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...
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
3 nov. 2007 à 13:56
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...
0
Rejoignez-nous