DI == IoC ? Eine BegriffsbestimmungFree Software Foundation Europe               Autor           Thomas Schubert      http...
Dependency Injection                   Achso Du meinstInversion of Control02.06.2012   Rechtlich geschützt durch die GNU F...
Dependency Injection         Nein      Achso Du meinstInversion of Control02.06.2012   Rechtlich geschützt durch die GNU F...
Dependency Injection     Ein Objekt A ist abhängig von einem      Objekt B02.06.2012   Rechtlich geschützt durch die GNU ...
Dependency Injection     Ein Objekt A ist abhängig von einem      Objekt B     Objekt A erzeugt selbst keine Instanz    ...
Dependency Injection     Ein Objekt A ist abhängig von einem      Objekt B     Objekt A erzeugt selbst keine Instanz    ...
Dependency Injection     Ein Objekt A ist abhängig von einem      Objekt B     Objekt A erzeugt selbst keine Instanz    ...
Typischer Steuerfluss                          A ist von B abhängig  Objekt A                                       A hän...
Typischer Steuerfluss                          A ist von B abhängig  Objekt A                                       A hän...
Typischer Steuerfluss                        A ist von B abhängigObjekt A                                     A hängt von...
Typischer Steuerfluss                          A ist von B abhängig  Objekt A                                       Nach ...
Typischer Steuerfluss                        A ist von B abhängigObjekt A                          Zusammenfassung        ...
Inverser Steuerfluss                        A ist von B abhängigObjekt A                                     A hängt von ...
Inverser Steuerfluss                        A ist von B abhängigObjekt A                                     A hängt von ...
Inverser Steuerfluss                          A ist von B abhängig  Objekt A                                       A über...
Inverser Steuerfluss                        A ist von B abhängigObjekt A                                     Nach der    ...
Inverser Steuerfluss                        A ist von B abhängigObjekt A                          Zusammenfassung         ...
Inverser Steuerfluss                        A ist von B abhängigObjekt A                          Zusammenfassung         ...
IoC == Inverser Steuerfluss     IoC also Inversion of Control bedeutet      übersetzt Umkehrung des Steuerflusses      al...
IoC == Inverser Steuerfluss     Doch nur weil jetzt der Container die      Steuerung übernimmt bedeutet dies      nicht, ...
Vielen Dank                                    für                        Ihr InteressePhotos/Grafiken:   ©Thomas Schubert...
Nächste SlideShare
Wird geladen in …5
×

DI == IoC ?

599 Aufrufe

Veröffentlicht am

Die ständige Gleichsetzung von Dependency Injection mit Inversion of Control mal kritisch betrachtet.

Veröffentlicht in: Bildung
0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
599
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
5
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

DI == IoC ?

  1. 1. DI == IoC ? Eine BegriffsbestimmungFree Software Foundation Europe Autor Thomas Schubert https://wiki.fsfe.org/Fellows/FunThomas424242
  2. 2. Dependency Injection Achso Du meinstInversion of Control02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense2/4 (http://www.gnu.org/copyleft/fdl.html)
  3. 3. Dependency Injection Nein Achso Du meinstInversion of Control02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense3/4 (http://www.gnu.org/copyleft/fdl.html)
  4. 4. Dependency Injection  Ein Objekt A ist abhängig von einem Objekt B02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense4/4 (http://www.gnu.org/copyleft/fdl.html)
  5. 5. Dependency Injection  Ein Objekt A ist abhängig von einem Objekt B  Objekt A erzeugt selbst keine Instanz von Objekt B sondern bekommt die Instanz von außen injiziert02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense5/4 (http://www.gnu.org/copyleft/fdl.html)
  6. 6. Dependency Injection  Ein Objekt A ist abhängig von einem Objekt B  Objekt A erzeugt selbst keine Instanz von Objekt B sondern bekommt die Instanz von außen injiziert  Injektion ist möglich über Reflection oder über Setter Methoden von A02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense6/4 (http://www.gnu.org/copyleft/fdl.html)
  7. 7. Dependency Injection  Ein Objekt A ist abhängig von einem Objekt B  Objekt A erzeugt selbst keine Instanz von Objekt B sondern bekommt die Instanz von außen injiziert  Injektion ist möglich über Reflection oder über Setter Methoden von A  Erzeugung und Injektion der Instanz B müssen nach der Erzeugung von A aber vor der Benutzung von B durch A stattfinden.02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense7/4 (http://www.gnu.org/copyleft/fdl.html)
  8. 8. Typischer Steuerfluss A ist von B abhängig Objekt A  A hängt von B ab  A besitzt die Steuerung Objekt BÜbernimmt Steuerung 02.06.2012 Rechtlich geschützt durch die GNU Free Documentation License 8/4 (http://www.gnu.org/copyleft/fdl.html)
  9. 9. Typischer Steuerfluss A ist von B abhängig Objekt A  A hängt von B ab  A besitzt die Steuerung A ruft B auf (Steuerfluss)  A ruft B auf Objekt BÜbernimmt Steuerung 02.06.2012 Rechtlich geschützt durch die GNU Free Documentation License 9/4 (http://www.gnu.org/copyleft/fdl.html)
  10. 10. Typischer Steuerfluss A ist von B abhängigObjekt A  A hängt von B ab  A hat B aufgerufen A ruft B auf  B übernimmt die (Steuerfluss) Steuerung Objekt B Übernimmt Steuerung02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense10/4 (http://www.gnu.org/copyleft/fdl.html)
  11. 11. Typischer Steuerfluss A ist von B abhängig Objekt A  Nach Abarbeitung gibt B die Steuerung an A zurück A ruft B auf (Steuerfluss) Objekt BÜbernimmt Steuerung 02.06.2012 Rechtlich geschützt durch die GNU Free Documentation License 11/4 (http://www.gnu.org/copyleft/fdl.html)
  12. 12. Typischer Steuerfluss A ist von B abhängigObjekt A Zusammenfassung  A hängt von B ab A ruft B auf  Steuerfluss und (Steuerfluss) Abhängikeitsgraph zeigen in die Objekt B gleiche Richtung02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense12/4 (http://www.gnu.org/copyleft/fdl.html)
  13. 13. Inverser Steuerfluss A ist von B abhängigObjekt A  A hängt von B ab  B besitzt die Steuerung Objekt B Übernimmt Steuerung02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense13/4 (http://www.gnu.org/copyleft/fdl.html)
  14. 14. Inverser Steuerfluss A ist von B abhängigObjekt A  A hängt von B ab  B besitzt die Steuerung B ruft A auf (Steuerfluss)  B ruft A auf Objekt B Übernimmt Steuerung02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense14/4 (http://www.gnu.org/copyleft/fdl.html)
  15. 15. Inverser Steuerfluss A ist von B abhängig Objekt A  A übernimmt die Steuerung B ruft A auf (Steuerfluss) Objekt BÜbernimmt Steuerung 02.06.2012 Rechtlich geschützt durch die GNU Free Documentation License 15/4 (http://www.gnu.org/copyleft/fdl.html)
  16. 16. Inverser Steuerfluss A ist von B abhängigObjekt A  Nach der Abarbeitung gibt A die Steuerung an B zurück B ruft A auf (Steuerfluss) Objekt B Übernimmt Steuerung02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense16/4 (http://www.gnu.org/copyleft/fdl.html)
  17. 17. Inverser Steuerfluss A ist von B abhängigObjekt A Zusammenfassung  A hängt von B ab B ruft A auf  Steuerfluss und (Steuerfluss) Abhängigkeitsgraph sind entgengesetzt Objekt B02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense17/4 (http://www.gnu.org/copyleft/fdl.html)
  18. 18. Inverser Steuerfluss A ist von B abhängigObjekt A Zusammenfassung  A hängt von B ab B ruft A auf  Steuerfluss und (Steuerfluss) Abhängigkeitsgraph sind entgengesetzt Objekt BBeispiel: B is ein Eclipse Plugin und A eine Plugin Extension02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense18/4 (http://www.gnu.org/copyleft/fdl.html)
  19. 19. IoC == Inverser Steuerfluss  IoC also Inversion of Control bedeutet übersetzt Umkehrung des Steuerflusses also Inverser Steuerfluss.  Trotzdem wird das was auf den vorangegangenen Folien zu sehen war nicht als IoC bezeichnet.  Als IoC bezeichnet man gewöhnlich Container basierte Systeme welche DI nutzen. Der Container übernimmt dabei die Initialisierung und Steuerung.02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense19/4 (http://www.gnu.org/copyleft/fdl.html)
  20. 20. IoC == Inverser Steuerfluss  Doch nur weil jetzt der Container die Steuerung übernimmt bedeutet dies nicht, dass sich der Steuerfluss umkehrt. Sonst wäre IoC bereits im J2EE Container zu finden gewesen.  Diese falsche Begriffszuordnung ist historisch gewachsener Schlampigkeit anzurechnen. Begonnen beim Pico Container und immer noch nicht beendet beim Spring Framework.02.06.2012 Rechtlich geschützt durch die GNU Free DocumentationLicense20/4 (http://www.gnu.org/copyleft/fdl.html)
  21. 21. Vielen Dank für Ihr InteressePhotos/Grafiken: ©Thomas Schubert freigegeben zur allgemeinen VerwendungAusnahmen: keineSchriftsatz: Courier NewErsatz Font: Arial erzeugt durch GoogleDrive, Open Office, Libre Office 02.06.2012 Rechtlich geschützt durch die GNU Free Documentation License 21/4 (http://www.gnu.org/copyleft/fdl.html)

×