Siege is a set of open source frameworks that adhere to the basic design principles outlined below.
Additionally, Siege is developed with the following [Tenets] in mind and is designed to seamlessly and non-intrusively integrate with your application as well as other 3rd party frameworks.
FREE! Everything under the Siege umbrella is provided at no cost and is open-sourced under the Apache 2.0 License (which means you can use it any commercial/closed source projects without issue).
Siege.ServiceLocator is, when used as a stand-alone framework, an Inversion of Control framework. When used in conjunction with other IoC frameworks, it functions as a type-registration and selection framework, abstracting type registration operations of the underlying framework and enriching the underlying IoC with functionality that it may not contain on its own while still retaining all characteristics of the IoC it is integrating with.
Siege.ServiceLocator is geared to the .NET Framework and MonoTouch.
Siege.ServiceLocator’s hallmark is its ability to conditionally and intelligently select between multiple implementations of the same interface at run-time based on completely arbitrary criteria.
Currently, Siege.ServiceLocator integrates with:
The #1 goal and guidepost with Siege.ServiceLocator is to maintain a simple, straightforward syntax with a minimal number of functions exposed. We do not find it useful to consumers expose to expose a large amount of methods that change the state of the container and in the end become a point of frustration. Nor do we find it helpful to consumers to chain().multiple().methods().together() in an endless and confusing combination that does not always work consistently.
We strive to give you a simple, easy to understand paradigm to follow in order to get up and running quickly.
Siege.TypeGenerator is a run-time type generation framework. Using a fluent API, Siege.Foundry allows consumers to define a type from scratch, specifying constructors and methods, their signatures and bodies completely. This software is currently in alpha.
Siege.Proxy is an AOP/Proxy framework. Given a type, it creates a proxy, extending the type using user-defined attributes. This software is currently in alpha.
Siege.Repository – Coming Soon
Last edited by MarcusTheBold,