User Documentation

One minute description
Two minute tutorial
Five minute introduction
Advanced Topics
FAQ
Container
Components
Terminology
Mock Objects
Inversion of Control Types

Patterns

Inversion of Control 
Dependency Injection 
Constructor Injection 
Setter Injection 
Interface Implementation Separation 
Lifecycle 
Antipatterns

Developer Documentation

 Current build status
How To Contribute
Relative Volunteering
Release Process

Project Information

Slogan
Mailing lists
Source Repositories
Open Issues
Blog entries 
Statistics
Team
Sister Projects
TShirts

Miscellaneous

Differentiators
Nirvana

Full Sitemap

Feeds


Site
News
History of Inversion of Control

Authors: Paul Hammant

The history of PicoContaner is tied to that of IoC (Inversion of Control) itself. There are three main types of IoC. The names for these have been recently evolved by Martin Fowler and friends and publicised here.

  1. Contextualized Lookup
  2. Setter Injection
  3. Constructor Injection


One, two and three were roughly evolved in that order. One has been dominant for a number of years. PicoContainer authors have either formerly promoted it, or avoided it because it felt overly complicated.

Two and three came into being within a short space of each other in the last year or so. Both were created as part of a quest for transparency and simplicity.