Well guys... If you have read my previous blog post about Guice and you are using only .net technologies you might got little bit worried of that why you can’t use such a nice framework. Don’t worry, there is a project going on at Google called Titan that inspired by Guice. It’s still in the beta stage though. It’s a pre-release version and they don’t recommend it using in mission critical applications.
Titan is a new take on inversion of control for .NET 2.0 applications, inspired largely by Bob Lee and Kevin Bourrillion's Guice. Ultra-lightweight, easy to use, fast, flexible, and powerful, Titan aims to make inversion of control accessible to all types of .NET projects, regardless of complexity.
Goals of Titan:
1. Ultra-lightweight. We aim to keep all baseline functionality in a single assembly with no non-standard dependencies, and keep that assembly's footprint around 100KB when compiled for release. (The current version weighs in at 96KB.)
2. Easy to use. Too many of the existing IoC projects sacrifice usability for features that aren't often used. Each time a feature is added to Titan, its benefit is weighed against the complexity it adds. Our goal is to keep the 'barrier to entry' -- the baseline level of knowledge required to use Titan -- as low as possible. Titan has many advanced features, but understanding them is not required to use the toolkit.
3. Fast. Instead of relying on reflection for invocation, Titan takes advantage of the lightweight code generation features in version 2.0 of the CLR. This results in a dramatic (8-50x) improvement in speed.
4. Flexible and extensible. Titan is designed with customization and evolution in mind. Many facets of the system can be augmented or modified to fit the requirements of each project.
5. Powerful. Titan includes many advanced features. For example, most existing IoC frameworks use key-based binding to select concrete components for injection. Titan introduces the concept of contextual binding, in which a different concrete implementation of a service may be injected depending on the context in which it is requested.
http://code.google.com/p/titan-ioc/