Existe-t-il un framework DI comparable à Google Guice ? Et qu'utilise Google ?
Réponses
Trop de publicités?Il n'y a rien d'aussi mature ou standard que Guice dans le monde du C++. Cependant, certaines personnes ont mis au point des implémentations simplistes de leur côté. En voici quelques-unes.
- http://adam.younglogic.com/2008/07/dependency-injection-in-c/ (la source de la mise en œuvre se trouve à la fin de l'article)
- http://sourceforge.net/projects/qtioccontainer/ (nécessite Qt)
- http://code.google.com/p/autumnframework/ (n'a pas été touché depuis 2007)
- http://programmaticallyspeaking.blogspot.com/2010/04/beautiful-dependency-injection-in-c.html (il s'agit plutôt d'une description)
- http://sourceforge.net/projects/cpp-resolver/ (qualité "Alpha")
Il est peu probable que vous soyez satisfait par l'une ou l'autre d'entre elles.
Si vous vouliez vraiment faire l'effort de rallier le monde autour d'un cadre DI pour C++, la façon de procéder serait probablement de faire une proposition aux gars de Boost.
Je suis l'auteur de wallaroo . Il est activement développé et présente les caractéristiques suivantes :
- il est léger mais puissant
- son interface supporte à la fois C++11 et C++98 avec boost
- il est sans danger pour la santé
- il n'a pas besoin de préprocesseurs / générateurs de code personnalisés
- vous pouvez charger des classes définies dans des bibliothèques partagées
- vous pouvez utiliser une syntaxe DSL pour la création et le câblage d'objets ou
- vous pouvez obtenir la création et le câblage d'objets en analysant un ou plusieurs fichiers xml / json.
Tout commentaire, suggestion ou demande est le bienvenu.
Il y a un projet récent qui semble très intéressant et qui s'intitule Hypodermique Je ne l'ai pas testé, mais il semble assez actif.