* as voted on by me, the impartial developer of StructureMap who has never used any of the other equivalent tools. If nothing else, StructureMap predates both Spring.Net and Castle.
StructureMap is a Dependency Injection framework that can be used to improve the architectural qualities of an object oriented system by reducing the mechanical costs of good design techniques. StructureMap can enable looser coupling between classes and their dependencies, improve the testability of a class structure, and provide generic flexibility mechanisms. Used judiciously, StructureMap can greatly enhance the opportunities for code reuse by minimizing direct coupling between classes and configuration mechanisms.
I made a new release of StructureMap this evening that incorporates 15 months of enhancements and refactorings that I’ve made to support our project work. We’ve used StructureMap successfully as the configuration subsystem of a rules engine and to smooth out the deployment reliability and testability of a large legacy system. The new functionality includes:
- GetAllInstances() – returns all instances of a certain type
- WhatDoIHave() – for runtime troubleshooting
- GetInstance(Type, InstanceMemento)
See the release notes at:
http://StructureMap.sourceforge.net or download at:
http://sourceforge.net/projects/structuremap
I wasn’t sure I was ever going to get around to putting out another release (I honestly thought I’d get a release out last year before Revenge of the Sith came out), but I’m sitting here watching the Clippers win a playoff game, so I think you can say that anything is possible.