Je suis souvent confronté à des classes d'aide ou d'utilisation en Java ou dans n'importe quel type de langage. Je me demandais donc s'il s'agit d'une sorte d'Anti Pattern et l'existence de ce type de classes n'est qu'un manque de manque dans la conception et l'architecture d'un logiciel.
Souvent, ces classes sont confinées en utilisant uniquement des méthodes statiques, qui font beaucoup de choses. Mais la plupart du temps, cela dépend du contexte et de l'état.
Ma question est, quelle est votre opinion sur ce type de classes d'aide / utilitaire statiques, car l'avantage est bien sûr l'invocation rapide en utilisant uniquement le nom de la classe.
Et à quel type de niveau d'abstraction éviteriez-vous d'utiliser ce genre de classes?
À mon avis, le mot clé "statique" devrait simplement être autorisé dans la déclaration d'une classe (Java) et non pour les méthodes. À mon avis, en l'utilisant de cette façon, cela pourrait être une bonne alternative et un moyen terme pour pouvoir combiner les paradigmes Procuedural et OO en Java et éviter une mauvaise utilisation du mot-clé.
Ajouts dus aux réponses:
Au début, je pense qu'il est tout à fait légal de pouvoir combiner différents paradigmes et même d'utiliser des langages de script interprétés au cours de l'exécution dans du code compilé machine ou vm.
D'après mon expérience, au cours du processus de développement d'un projet, ce type d'aides et d'utilitaires ou quel que soit le nom, grandit et grandit et est utilisé dans tous les coins oubliés de la base de code, qui était à l'origine conçue pour être modulaire et flexible. Et en raison d'un manque de temps pour effectuer des refactorisations ou repenser la conception, vous ne faites qu'empirer les choses au fil du temps.
Je pense que static
devrait être supprimé de Java. Surtout maintenant où il est possible d'utiliser des éléments de langage fonctionnel encore plus sophistiqués.