Geeks With Blogs

Madhawa Learns To Blog : C#, Java .net, c#, java,sql, OOAD and more mad memory dumps...

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/

Posted on Sunday, July 15, 2007 10:06 PM .net , Architecture | Back to top


Comments on this post: Titan-IOC : A lightweight, flexible, general purpose inversion-of-control container for .NET applications

# re: Titan-IOC : A lightweight, flexible, general purpose inversion-of-control container for .NET applications
Requesting Gravatar...
Thanks for the post about Titan! A couple of things to clear up: first, Titan's been renamed "Ninject" and a website is coming soon at http://ninject.org. Second, Ninject/Titan is not a Google project; it just shares some similarities with Guice. I'm the sole developer of Ninject, and Google hasn't made me an employment offer. (Yet! ;)
Left by Nate Kohari on Jul 25, 2007 2:10 AM

# re: Titan-IOC : A lightweight, flexible, general purpose inversion-of-control container for .NET applications
Requesting Gravatar...
Hi Nate, well... since it’s in the “google code” section, it gave me an impression of that it’s a google project. I didn’t know that anyone can host their projects in google code. That's my bad. :D,
BTW I think it’s a good move to rename it as "Ninject" (makes sense than “Titan”) and moving in to a new web site. Hope we could get a firm release soon for use in our applications. Good luck! :)
Left by Madhawa on Jul 25, 2007 6:27 AM

Your comment:
 (will show your gravatar)


Copyright © Madhawa Karunaratne | Powered by: GeeksWithBlogs.net