Blog - About

About Nicholas Blumhardt

I'm originally from Brisbane, Australia, now working as a Program Manager at Microsoft in Redmond.

Most of my time is spent on the Managed Extensibility Framework for the upcoming .NET Framework 4.0.

In my spare time I run the Autofac project, which I founded.

You can find some more posts on my previous blog.

  • Nicholas Blumhardt

    Container-Managed Application Design, Prelude: Where does the Container Belong?

    • 18 Comments
    There is surprisingly little information out there in cyberspace on how IoC containers should fit into application architectures. In parallel with my MEF/Ruby series, I'm going to discuss some of the principles that I believe should be applied to ...
  • Nicholas Blumhardt

    State Machines in Domain Models

    • 13 Comments
    I was reminded today of Stateless , a little project that I’m quite fond of. Stateless is a hierarchical state machine framework based on Simple State Machine for Boo , but configured using C# 3.0. When I announced Stateless last year , I hardly even...
  • Nicholas Blumhardt

    Hosting Ruby Parts in MEF

    • 11 Comments
    MEF is fascinating because of the way some initial assumptions led to a different flavor of composition technology from the ones we've seen for .NET to date. In my opinion, the most exciting ‘parameter variation’ in the design process for...
  • Nicholas Blumhardt

    MEF Preview 6 Available

    • 7 Comments
    In the three months that have passed since the last release, we’ve been very busy making final adjustments to get closer to RTM. In this post I’ve summarized the biggest changes between the Preview 5 and Preview 6 releases. The highlights are: ...
  • Nicholas Blumhardt

    MEF: Dependencies are Queries?

    • 7 Comments
    Start to schematically represent any component system and you’re likely to come up with a diagram like: So what do the dependency and the service actually mean ? In most implementations, each is associated with a key: Here the Screen Renderer component...
  • Nicholas Blumhardt

    Analyze MEF Assemblies from the Command Line

    • 6 Comments
    In MEF Preview 6 we shipped a sample assembly called Microsoft.ComponentModel.Composition.Diagnostics , demonstrating the kinds of things that can be determined by (semi-) statically analyzing MEF catalogs. With Preview 7 we added a utility that makes...
  • Nicholas Blumhardt

    Dynamic Part Instantiation in MEF

    • 5 Comments
    Disclaimer: This functionality is not shipping in .NET 4 (but is available in the recent CodePlex drops , see below for more details.) The golden rule of using composition to simplify your architecture is to avoid calling the container directly . Until...
  • Nicholas Blumhardt

    Parameterised Triggers and Re-Entrant States in Stateless v2

    • 4 Comments
    Since working on a clinical outcomes review system a couple of years ago, I’ve been aware of the gap between simple hand-coded workflows and the full-blown workflow tools. Stateless embodies the idea that a state machine can use closures to implement...
  • Nicholas Blumhardt

    Ruby on MEF: Imports and Exports

    • 4 Comments
    Well, the "Ruby Parts" implementation is slowly taking shape. If you haven't read the first article you probably should before you read on. Exports An export is an object that a part will hand to the outside world to fulfil a contract . Sometimes...
  • Nicholas Blumhardt

    IoC on Silverlight

    • 3 Comments
    A number of IoC containers have Silverlight versions - Ninject and Unity especially seem to have healthy Silverlight offerings. Silverlight 2.0 is a variant of the .NET runtime, so this isn't too surprising. Thanks to Tyson Stolarski and Rinat Abdullin...
  • Nicholas Blumhardt

    Declarative Context Adapters

    • 2 Comments
    The first post in this series introduced the problem of accessing IoC container features dynamically. We brushed over two common patterns: Global Container (or Static Service Locator ) Injected Context Before we move on from this topic, I'd like to look...
  • Nicholas Blumhardt

    Hosting MEF Extensions in an IoC Container

    • 2 Comments
    There has been a lot of discussion among IoC container users about the similarities between MEF and IoC containers. Most of this has been addressing the question - “should MEF and an IoC container be used in the same app, or are they exclusive?” One possible...
  • Nicholas Blumhardt

    Debug Composition from within Visual Studio

    • 2 Comments
    This morning Dave came up with a great suggestion for finding MEF composition problems from within Visual Studio. By registering the composition analyzer as an external tool, the root cause of a composition problem can be located in a flash! Step 1 -...
  • Nicholas Blumhardt

    Appearance on .NET Rocks!

    • 2 Comments
    This week I took some time out to talk to Richard and Carl on .NET Rocks! about Autofac, MEF and component-oriented software in general. If you have any questions about material from the show, please feel free to post them in the comments.
  • Nicholas Blumhardt

    IoC Open Space at ALT.NET Seattle

    • 1 Comments
    We had a great little open discussion on building IoC-driven apps today at ALT.NET Seattle. A handful of good points came up: Building aggregate object graphs for the UI layer is giving people headaches Dynamic instantiation patterns like...
  • Nicholas Blumhardt

    Explicit Context Dependencies

    • 1 Comments
    As a follow up from my last post about Global Container vs. Injected Context , I would like to share this snippet from Component Software , which casts the difference between the two approaches in another light: "A software component is a unit of...
  • Nicholas Blumhardt

    Ruby on MEF: Hybrid Application

    • 0 Comments
    Since the last installment in this little series, I've started to consider how Ruby/C# hybrid MEF applications might look. The result is yet another component-based calculator: Besides the Radiohead arithmetic , there is one reason to get excited... Ruby...
  • Nicholas Blumhardt

    Implementing Optional Exports with MEF Stable Composition

    • 0 Comments
    Disclaimer: As usual, this blog post is discussing pre-release software, which may differ from the final released version. Ayende once observed that MEF is very focused on dependency management. It’s an accurate description of the driving force that has...
  • Nicholas Blumhardt

    Homeward Bound

    The last year in Redmond has been truly amazing. Besides working with the great people in the .NET team and elsewhere at Microsoft – an experience that can’t be done justice in a brief blog post like this – I’ve also had a chance to take in Seattle and...
  • Nicholas Blumhardt

    Back at Microsoft, new blog location...

    • 0 Comments
    I've moved back to Redmond and again work on the .NET framework. I don't currently plan on reviving this blog. You can find me online at my personal blog or keep up with our team via the BCL team blog . Thanks for dropping by!
Page 1 of 1 (20 items)