Inversion of control containers and the dependency injection pattern (2004)

by M Fowler