Recently, I have received a few requests for some changes and an example for my Type Tracking Extension for Unity. This post is to address those requests. Of course, all of the source code for this post is added to the GitHub project Unity Extensions.
Part One – Extension Methods for the Type Tracking Extension The number one request I have received, and my own number one issue with using the Type Tracking Extension, is the verbosity of each method call.
Inspired by Scott’s post Hanselminutes – This is usually the podcast that helps to clarify some topic I had been meaning to learn more about. Sometimes a bit too focused on the web end of the spectrum, but still a solid source on what is out there and what is coming up.
Dave’s Bus Ride of Knowledge Podcasts on .NET Development
|Hanselminutes – This is usually the podcast that helps to clarify some topic I had been meaning to learn more about.
A few weeks ago I read the blog post Git and command-line fear by James Gregory. He argues against the common Git on Windows complaint of poor Windows support. While I appreciate James’ position that this is not entirely true, and that most people do associate Windows support with GUI based tools or Visual Studio integration, I do disagree with his assertion that command line tooling is a valid use case.
In my recent post, IoC Challenge – Multiple interfaces to the same singleton instance, I posted an IoC challenge to the community. I also mentioned that on the Ninject discussion groups, a suggestion was posted on how to solve this using Ninject.
Today, I decided to try out that suggestion, and I have to admit, it is quite elegant so far. Here is the source code used.
First, the interfaces.
Edit: Updated link at GitHub.
{: .center_image }
I have finally found an online code sharing site to post my open source code to – Hazware Unity Extensions on GitHub. I posted all of the source code for my Type Tracking Unity Extension there, and decided to follow the Ninject model for licensing – I dual licensed it as MS-PL and Apache, so go enjoy and help me make it better.
I have an IoC challenge that I am currently trying to work through. I have a series of classes that implement more than one interface, with the lifetime of the class needing to be a singleton, and I really don’t like the idea of falling back on custom instantiation code along with potentially custom lifetime management code to make this work.
Sound confusing? Here is the model I am trying for.
Edit: Source code posted to [Hazware Unity Extensions on GitHub]
My personal inversion of control container is Unity. However, I occasionally find myself looking for functionality from the other .NET IoC containers I have used, such as Ninject and Castle Windsor. Here is the code that came out from trying to solve this need.
I was working on some Unit of Work code for NHibernate and I found the need to query the container to check if a type was registered.