Je vois beaucoup de classes instanciables dans le monde C ++ et Java qui n'ont aucun état.
Je ne peux vraiment pas comprendre pourquoi les gens font cela, ils pourraient simplement utiliser un espace de noms avec des fonctions libres en C ++, ou une classe avec un constructeur privé et uniquement des méthodes statiques en Java.
Le seul avantage auquel je peux penser est que vous n'avez pas à modifier la plupart de votre code si vous décidez plus tard que vous souhaitez une implémentation différente dans certaines situations. Mais n'est-ce pas un cas de conception prématurée? Il pourrait être transformé en classe plus tard, quand / si cela devient approprié.
Suis-je en train de me tromper? N'est-ce pas de la POO si je ne mets pas tout dans des objets (ie des classes instanciées)? Alors pourquoi y a-t-il tant d'espaces de noms et de classes d'utilitaires dans les bibliothèques standard de C ++ et Java?
Mise à jour: J'ai certainement vu beaucoup d'exemples de cela dans mes emplois précédents, mais j'ai du mal à trouver des exemples open source, donc ce n'est peut-être pas si commun après tout. Pourtant, je me demande pourquoi les gens le font et à quel point c'est courant.