Klassendefinitionen als Ersatz für "protected/
package/... class" in den implementation-Teil zu schieben handhabe ich teilweise auch noch so. Habt Ihr die Diskussion öffentlich geführt? Rein interessenshalber.
Teilweise, ich hab ihn bei jeder Gelegenheit (comments in posts, Review seines Buches und als wir uns auf der EKON17 trafen) darauf aufmerksam gemacht.
Wir beide betrachten DI und "coding against abstractions" nicht als Selbstzweck, sondern als Mittel zu entkoppeltem und damit isoliert testbarem Source.
Und das erreicht man nicht, wenn man die eine offensichtliche Kopplung - nämlich die Benutzung einer konkreten Implementierung (Klasse) statt einer Abstraktion (Interface oder abstrakte Klasse) - durch eine andere - nämlich die Kopplung auf den Container - ersetzt.
Wenn ich also meine TMySampleClass nicht mehr in einem Projekt benutzen kann, ohne den Container auch zu benutzen (da er ja fest in der
Unit verdrahtet ist), dann läuft was falsch.
P.S.