Recherche design pattern - Divers - Programmation
Marsh Posté le 11-10-2017 à 22:23:29
Un topic sur ce sujet : https://www.developpez.net/forums/d [...] arametres/
En gros, c'est pas une bonne idée de passer des paramètres qui ne seront pris en compte qu'à l'initialisation du singleton. Et ajouter une méthode set() à ton singleton risque d'avoir des effets de bord si le changement de paramètre n'est pas maîtrisé.
Lors de l'initialisation du Singleton, tu peux très bien initialiser des attributs via un fichier de conf ou des constantes. Ton cas me fait penser à une connexion à une BD : https://apprendre-php.com/tutoriels [...] t-pdo.html
Marsh Posté le 12-10-2017 à 15:31:53
rufo a écrit : Un topic sur ce sujet : https://www.developpez.net/forums/d [...] arametres/ |
J'aime bien ton sens de la mesure quand tu dis que "ce n'est pas une bonne idée" J'ai pensé à la solution du fichier de configuration, mais ce n'est pas trop ce que j'ai envie de faire. L'analogie avec une connexion BD est très bonne parce que c'est aussi un problème du même genre. On établit une fois une connexion et ensuite on la garde pendant toute l'exécution. Je vais voir si je trouve quelque chose dans ce sens. Merci beaucoup de ton aide.
Marsh Posté le 12-10-2017 à 15:47:56
Ben en fait, pour la connexion à la BD, c'est bine un singleton avec des attributs private qui sont initialisés soit via des constantes, soit des valeurs provenant d'un fichier de conf.
Marsh Posté le 11-10-2017 à 18:15:14
Bonjour,
en "bricolant" ce matin je me suis posé une question qui j'espère ne sera pas trop bizarre.
Dans mon programme j'ai une classe dont j'aimerais qu'il n'existe qu'une seule instance (ce qui m'a fait penser au singleton). Mais je dois construire cette instance avec des paramètres alors que le singleton n'a pas de paramètres. En gros ça donne (je donne un pseudo-code ne vous attardez pas à la syntaxe):
Ce pattern n'est clairement pas un singleton classique (à cause des paramètres) et c'est plutôt crade comme code. Alors je me demandais s'il existait un schéma de conception (en français "design pattern" ) qui permette d'avoir un objet unique et paramétré. Expliqué autrement: comment avoir un objet unique dans une application à plusieurs endroits, sans devoir le passer en paramètre tout partout.
D'avance merci de votre aide.