Blog Stalking - Dependency Injection zu später Stunde

In letzter Zeit kommt es immer häufiger vor, dass ich nicht schlafen kann, weil es zu warm ist. Programmieren ist nicht mehr drinnen. Dafür bin ich nicht mehr auf der Höhe. Aber zum Lesen bleibt allemal noch Energie.

Ich beschäftige mich ja nun seit einiger Zeit neben meinem immer wieder aktuellen Thema Dokumentation mit weiterführenden Techniken und Tools rund um die Komponentenorientierung, als da wären UnitTesting, TypeMocking und Container-Frameworks ala Windsor, Unity, Autofac etc. (siehe vorherige Posts).

Ein Kritikpunkt auf den ich auch unter Kollegen und Skeptikern dabei immer wieder stoße ist die Frage bzw. Aussage: Das dauert doch viel zu lang, das ist unperformant... Reflection dauert doch zu lange. Was die guten Herren dabei vergessen, ist die Tatsache, dass alle Produktiven Container (also die sich als solche bezeichnen) mit hoch optimierten Techniken IL direkt erzeugen. Nun was soll ich dazu sagen, es ist einfach nur schnell, auch wenn sich mal ein-, zweihundert Komponenten in dem Framework tummeln.

Ich habe über das ServiceLocator und Dependency Injection Framework einen schönen Artikel gelesen, der meine bisherigen Erfahrungen und Vermutung bestärkt. Ganz unten in den Kommentaren ist von Oren Eini - oder besser bekannt als Ayende Rahien - folgendes Zitat zu lesen:

1. An object’s consumer shouldn’t need to know that X That is right, this is why you use an IoC.The one place that needs to know about the container is the infrastructure, everything else is constructed by the container.

2. When using property injection you generally need to mark your dependencies as public Use ctor injection, that is the preferred mode.

3. Reflection: all IoC containers use a heavily optimized approaches, down to generating IL at runtime. I have not seen production ready container that had perf problems because of that.

4/ Large object chains create lot of objects. Who _cares_ ? It takes 0.00000006 ms to create an object in .NET. This is absolutely insignificant number.

Die signifikante Stelle habe ich hier mal fett markiert. Also soll uns das wirklich stören? Und Oren ist jetzt nicht gerade jemand, von dem man behaupten könne, er kennt sich auf dem Gebiet nicht aus.

Published Freitag, 8. August 2008 00:55 von Rainer Schuster
Abgelegt unter: ,

Kommentare

Keine Kommentare

Kommentar abgeben

(verpflichtend) 
(verpflichtend) 
(optional)
(verpflichtend)