StructureMap is a Dependency Injection / Inversion of Control tool for .Net 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.
StructureMap is released under the permissive Apache 2 OSS license. You are free to download, modify, or redistribute StructureMap in any way you see fit without restriction.
Consider using StructureMap if you:
Do not use StructureMap if an application or process requires little flexibility. The abstraction and indirection afforded by StructureMap is unnecessary and even harmful in simpler systems or processes.
The easiest way to get started is with the StructureMap QuickStart. Please send any questions or suggestions to the StructureMap User Group on Google Groups.
StructureMap is the oldest IoC/DI tool for .Net development and has been used in multiple production systems since June 2004. The current version 2.5.2 was released in January 2009, with a 2.6 release scheduled for no later than the end of January 2009. StructureMap is primarily maintained and developed by Jeremy D. Miller, The Shade Tree Developer and Joshua Flanagan with other contributions from the community.