Plutôt que de déclencher une guerre de flammes sur le "meilleur" framework DI (je ne pense pas qu'il y ait une solution générale définitive), cette question a pour but de discuter des bonnes alternatives pour des projets de différents types, quel que soit le langage de programmation, sur la base de l'expérience professionnelle.
J'aimerais me pencher sur certaines questions :
- Quelles étaient les caractéristiques les plus importantes que vous recherchiez dans un cadre de DI ? Pourquoi ce cadre correspondait-il le mieux à votre projet ?
- Qu'est-ce que le cadre DI a de plus que les autres ? Qu'est-ce qui le rend spécial ?
- Pourquoi ne pas choisir le même cadre DI pour d'autres projets ?
- Comment le cadre DI a-t-il amélioré la testabilité et la flexibilité de configuration de l'application (en particulier sur différents environnements : développement, staging, production, etc.)
- De nombreux cadres de DI sont réputés simples. Mais est-il facile de maintenir la configuration des dépendances ? (Par exemple : est-ce trop verbeux ou difficile à lire et à modifier ?)
Je finirai peut-être par accepter une réponse, mais il n'y a pas de "meilleure réponse" à ce sujet. J'apprécierais que toute personne ayant une expérience utile la partage.
Je suis particulièrement intéressé par l'expérience des frameworks DI en Python et PHP, où je pense que le choix n'est pas très simple. La question est cependant indépendante de la langue.