(written retroactively)

Here it is - Inversion of Control Rocks - Dec 4th, 2003 Java Developers Journal.

I coined Type 1, 2 and 3 IoC, and documented that here. Luckily my CTO Martin Fowler went on to coin Dependency Injection a couple of months later in Inversion of Control Containers and the Dependency Injection pattern. Thus type 1 became interface injection (that’s what Apache’s defunct Avalon framework pioneered from 1998), type 2 became Setter Injection (WebWork 1, Spring), and type 3 became Constructor Injection (PicoContainer was the first container, with many others since).

I’d been in ThoughtWorks UK for 18 months at this stage, and London colleagues were quick sick of me talking of Inversion of Control (and the Avalon’s Phoenix container) like it was the only important programming paradigm.

I have a copy of the PDF (Sys-con are not hosting it anymore) here, and a slightly longer one the editor though needed trimming here. It looked nice in the old print-media magazine:)


December 5th, 2003