Disons que j'ai une classe simple appelée WebsterDictionary
qui a une fonction qui peut prendre un mot et renvoyer sa définition. Il y a peut-être une autre fonction qui peut prendre une définition et retourner un mot. La classe est utilisée tout le temps par de nombreux clients.Une classe statique est-elle appropriée lorsque l'état est immuable?
Pour faciliter les recherches, la classe contient une variable membre qui est un dictionnaire en mémoire qui stocke les mots et leurs définitions associées. Supposons que le dictionnaire ne puisse jamais changer une fois qu'il est initialisé - il est constant et ne varie pas d'une instance à l'autre.
Est-ce un bon candidat pour la classe statique? J'ai lu que les classes statiques devraient être sans état ... mais cette classe a l'état (le dictionnaire en mémoire) à droite?
EDIT: Également, si cela devient une classe statique, quand est-ce que j'initialise le dictionnaire car il n'y aurait plus de constructeur? Est-ce que je vérifie si la référence au dictionnaire est nulle à chaque fois que l'une des méthodes statiques est appelée?
Merci.
non ... aucune raison de le rendre unique. transmettez-le simplement à celui qui en a besoin. c'est plus flexible –