Tous les champs d'une classe de modélisation GlobalSettings doivent-ils être statiques (centrés sur C #)?

StackOverflow https://stackoverflow.com/questions/1030852

Question

L'idée est que la classe ApplicationSettings obtiendra certaines valeurs par défaut d'un fichier de configuration / ressource et que certaines de ces options, mais pas toutes, seront ensuite appliquées à UserSettings

Était-ce utile?

La solution

Vous ne devriez avoir que des champs d’instance dans une telle classe et faire de la classe entière un Singleton si nécessaire (bien que vous fassiez attention à ne pas l’exposer globalement - les singletons sont diaboliques ).

Les champs statiques ne peuvent pas être sérialisés (ce qui est important pour une classe de paramètres). Deuxièmement, en ayant des champs d'instance, vous pouvez facilement transmettre différentes instances de paramètres à différentes parties de votre application. Et l’important est de transmettre les paramètres au reste de l’application, et non de les rendre globalement visibles afin que tous les objets puissent y accéder.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top