====== DI ====== ===== Dependency Injection ===== L'injection de dépendances est un mécanisme qui permet d'implanter le principe de l'Inversion de contrôle. Il consiste à créer dynamiquement (injecter) les dépendances entre les différentes classes en s'appuyant généralement sur une description (fichier de configuration). Ainsi les dépendances entre composants logiciels ne sont plus exprimée dans le code de manière statique mais déterminées dynamiquement à l'exécution. Quelques frameworks implémentant DI: [[http://www.springsource.org/|Spring]], [[http://www.springframework.net/|Spring.Net]], [[http://www.castleproject.org/|Castle Project]], [[http://msdn.microsoft.com/en-us/library/dd203101.aspx|Unity]], [[http://www.picocontainer.org/|PicoContainer]], Plus de framework sur http://en.wikipedia.org/wiki/Dependency_injection Introduction : * [[http://www.notmyidea.org/article/dependency-injection-singleton-design-pattern-ioc-dendencies-dependences/|Article d'Alexis Metaireau (en français)]] * [[http://fabien.potencier.org/article/11/what-is-dependency-injection|Article de Fabien Potencier (en anglais)]] appliqué à Php mais très bonne introduction au sujet Pour aller plus loin: * [[/informatique/design_pattern#Dependency_Injection]] * La section "Anti-patterns" sur http://www.picocontainer.org/ * http://fr.wikipedia.org/wiki/Spring_framework * http://en.wikipedia.org/wiki/Dependency_injection * http://ego.developpez.com/spring/ * http://www.castleproject.org/container/ * http://www.crossbowlabs.com/dossiers/principesoo/dip * http://martinfowler.com/articles/injection.html