Liste von Dependency Injection Frameworks

Für die Umsetzung von Dependency Injection in objektorientierten Programmen gibt es verschiedene Frameworks für diverse Programmiersprachen und Plattformen:

Die nachfolgende Liste ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Angaben ohne ausreichenden Beleg könnten demnächst entfernt werden. Bitte hilf Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst.
Folgende Frameworks sind nicht durch reputable Sekundärliteratur belegt: Swiz, wallaroo, Google Fruit, Boost.DI, mORMot, Spring4D, DDI - Dynamic Dependency Injection, Bread::Board, Orochi, LinFu, OpenNETCF.IoC

Actionscript

ActionScript

C++

C++

  • PocoCapsule/C++ IoC[3]
  • DSM[4]
  • wallaroo
  • Google Fruit
  • boost-ext / di[5] (C++11 und später, Header-only, Compile-Time)
  • Kangaru[6]

ColdFusion

ColdFusion

Delphi

Delphi

  • mORMot
  • Spring4D[9]

Java

Java

  • Contexts and Dependency Injection (CDI), Standard für DI (JSR 299,[10] eine Rahmenrichtlinie, umgesetzt durch verschiedene Frameworks wie z. B. Seam Weld in Java EE 6)
  • EJB ab Version 3.0[4]
  • Spring
  • Dagger[11]
  • DDI - Dynamic Dependency Injection
  • PicoContainer[12]
  • Seam 2
  • Guice
  • S2Container.Java[13]
  • JBoss Microcontainer ab JBoss Application Server 5.0 bzw. dessen Nachfolger WildFly[14]
  • OSGi Declarative Services[15]

Kotlin

Kotlin

Perl

  • Bread::Board
  • Orochi

PHP

PHP

  • Stubbles IoC[4]
  • Symfony sowie Symfony2, Open-Source PHP Framework[19]
  • Neos Flow[20]
  • Phalcon
  • Pimple[21]
  • Zend Framework 2, Opensource PHP Framework
  • Laravel[22]

Python

Python

Ruby

Ruby

.NET

.NET Framework

  • Autofac[24]
  • Castle Windsor[24]
  • Funq[25]
  • LightCore[4]
  • LinFu
  • Managed Extensibility Framework (MEF)[25]
  • Munq[25]
  • Ninject[24]
  • ObjectBuilder[4]
  • OpenNETCF.IoC
  • PicoContainer[4]
  • Puzzle.NFactory[25]
  • S2Container.NET[13]
  • Spring.NET[24]
  • StructureMap[24]
  • Unity[24] (sowohl als alleinstehender Container als auch als Application Block innerhalb der Enterprise Library verfügbar)
  • WINTER4NET[25]

Einzelnachweise

  1. Swiz Framework Overview. Abgerufen am 19. August 2020 (englisch): „"Swiz provides: Inversion of Control / Dependency Injection ...“ 
  2. a b c Flex tool extensions : Related products | Adobe Flex. Abgerufen am 16. September 2020. 
  3. Maximilien de Bayser, Renato Cerqueira: A System for Runtime Type Introspection in C++. In: Programming Languages (= Lecture Notes in Computer Science). Springer, Berlin, Heidelberg 2012, ISBN 978-3-642-33182-4, S. 102–116, doi:10.1007/978-3-642-33182-4_9. 
  4. a b c d e f g h i Dependency Injection :: DI (dependency injection) :: ITWissen.info. Abgerufen am 12. September 2020. 
  5. boost-ext / di. In: github.org. 11. November 2021, abgerufen am 20. November 2021. 
  6. A list of open source C++ libraries - cppreference.com. Abgerufen am 28. August 2020. 
  7. Brian Kotek in Developer on November 2, 2006, 11:56 Am Pst: Manage dependency injection for ColdFusion with the ColdSpring framework. Abgerufen am 16. September 2020 (englisch). 
  8. a b An introduction to ColdFusion frameworks | Adobe Developer Connection. Abgerufen am 16. September 2020. 
  9. Spring4D Framework
  10. JSR 299
  11. a b A quick intro to Dependency Injection: what it is, and when to use it. In: freeCodeCamp. 18. Oktober 2018, abgerufen am 13. September 2020 (englisch). 
  12. Wynne, Matt,, Hellesøy, Aslak: The cucumber for Java book : behaviour-driven development for testers and developers. [Frisco, TX] 2015, ISBN 978-1-941222-29-4, Chapter 11: Simplifying Design with Dependency Injection (englisch, pragprog.com [PDF]). 
  13. a b P.R. Sarode, R.N. Jugele: Aspect Oriented Programming Tools for .Net Framework. In: International Journal of Computer Sciences and Engineering. Band 7, Nr. 1, 31. Januar 2019, S. 533–538, doi:10.26438/ijcse/v7i1.533538. 
  14. Martin Schindler: JBoss Application Server wird WildFly. 23. April 2013, abgerufen am 13. September 2020 (deutsch). 
  15. OSGi Dependency Injection - DZone Java. In: DZone. Abgerufen am 13. September 2020 (englisch). 
  16. Dependency injection with Hilt | Android-Entwickler. Abgerufen am 16. September 2020 (englisch). 
  17. Innovative Sprach-Features in Kotlin. Informatik Aktuell (Magazin), 19. Juni 2018, ehemals im Original (nicht mehr online verfügbar); abgerufen am 16. September 2020.@1@2Vorlage:Toter Link/www.informatik-aktuell.de (Seite nicht mehr abrufbar. Suche in Webarchiven) 
  18. Karl Szwillus: Kotlin: Einstieg und Praxis. MITP-Verlags GmbH & Co. KG, 2019, ISBN 978-3-95845-855-0, 9.5.3 Dependency Injection (eingeschränkte Vorschau in der Google-Buchsuche). 
  19. phpconference.com Understanding Dependency Injection - Dependency Injection With Symfony’s Service Container
  20. Einstieg in TYPO3 Flow: Erste Schritte mit dem PHP-Framework | Seite 2 | t3n – digital pioneers. Abgerufen am 25. September 2020. 
  21. PHP Master | Dependency Injection with Pimple. Abgerufen am 25. September 2020 (englisch). 
  22. a-coding-project.de Laravel Service Container Was ist Dependency Injection?
  23. A Quick Introduction to the Spring Python Framework - Developer.com. Abgerufen am 30. August 2020. 
  24. a b c d e f Dot NET Dependency Injection Frameworks. In: Codeguru. Abgerufen am 28. August 2020. 
  25. a b c d e Application Architecture - First Know Dependency Before Dependency Injection. In: C# Corner. Abgerufen am 12. September 2020.