En évitant les variables statiques avec Singleton

Un de mes collègues m'a dit que je devrais ne jamais utiliser de variables statiques parce que si vous changer en un seul endroit, ils sont changés partout. Il m'a dit qu'au lieu d'utiliser des variables statiques, je devrais utiliser un Singleton).
Je sais que Singleton est pour limiter le nombre d'instances d'une classe à une.
Comment peut-Singleton m'aider avec des variables statiques?

C'est le point des champs statiques. Aussi, singetons champs statiques (mais en lecture seule). Votre ami sonne faux.
Quand quelqu'un dit "jamais" ou "toujours", ils sont généralement mal, surtout lors de la référence à une caractéristique de la langue elle-même.
Je serais curieux de savoir comment votre collègue entend mettre en place le pattern singleton sans à l'aide d'un champ statique.
Je pense que votre collègue vous guider pour faire de propriétés ou de champs statiques dans les champs ou les propriétés d'une classe, et puis la tenue d'un singleton instance de cette classe. Si ces champs/propriétés elles-mêmes ne sont pas statiques, mais l'exemple est un singleton, qui, par nature, ancré dans un champ statique à la source. Mais sans vous montrer le code à un problème réel ou sans avoir votre collègue ici, nous ne pouvons pas dire avec certitude ce que les deux d'entre vous sont en train de parler.
Mais gardez à l'esprit, si vous modifiez les champs statiques/propriétés ou les champs/propriétés d'une instance unique, quelque chose qui ne voit que l'instance du singleton permettra également de voir les modifications. Les deux approches sont l'état global. Si observe les mutations sont ce que votre collègue veut éviter, alors que ni l'approche s'applique.

OriginalL'auteur petko_stankoski | 2011-11-01