En règle générale, j'aime utiliser l'injection de dépendance basée sur le constructeur, mais récemment je travaillais sur une classe qui dépendait de 4 autres classes. Parce que les longues listes d'arguments sont difficiles à lire, j'ai remplacé le constructeur 4-args par 4 setters. Quand j'ai mentionné cela à un collègue, il a soutenu que c'est en soi une odeur de code. Il a suggéré que je "casse" cette classe.Est-ce que "trop de dépendances" sent le code?
La classe elle-même est déjà relativement petite; il arrive juste d'utiliser plusieurs collaborateurs pour faire le gros du travail. Il consiste en une méthode courte (~ 12 lignes, y compris les espaces) qui appelle 4 collaborateurs. Êtes-vous d'accord ou non avec l'affirmation selon laquelle il s'agit d'une odeur de code? Y a-t-il une mesure objective que je peux utiliser pour déterminer combien de dépendances est «trop»? Comment cela se rapporte-t-il à des paramètres tels que la complexité cyclomatique, la cohésion, le couplage, etc.?