Design pattern : Factory [Résolu]

Signaler
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
-
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
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

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
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 ;-)
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
@neige => ben tu mets ton constructeur en privé... et une méthode __clone() qui retourn false ou qui lance une exception.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Maisd dans ce cas ça t'oblige à mettre l'usine dans la classe, évidemment.
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
15
On est bien d'accord...
Merci ^^
Messages postés
356
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
26 juin 2012
1
Allez vous coucher, c est quand meme deja 2h...
Suivez mon exemple
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
15
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...
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Zut!
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
15
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...
Messages postés
356
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
26 juin 2012
1
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...
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
15
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...