Paul Hammant's Blog: Pico practices for .Net
Pico practices (refer http://www.picocontainer.com) apply to .Net too. DotNet's 'Properties' feature is where picoification has problems. DotNet makes good use of properties for its Data Binding feature. Data Binding requires that properties have getters and setters in order to be bindable. Properties being a powerful thing, we find that many people are deciding they are the big thing and overusing them. Doing type-2 post-instantiation assignment of dependent components via properties is wrong. Doing them via constructors (type-3) is right. For .Net this means that setter properties should be the preserve of only bindable elements or transient things (that can change after instantiation). The summary is that .Net PicoComponents still may have get/set properties, but only for non-component needs. Anyway, we've yet to port PicoContainer and NanoContainer to .Net again. Tis about time :-)