As I really don’t have much of a life I was reading an academic paper this evening by Anneke Kleppe. In the References section of the paper there were the a couple of links to some articles on properly implementing UML Associations in source code. The articles are fairly old now (they were written in 2005), but are interesting because they really do illustrate how much functionality is actually implied by very simple UML constructs (back in the day one of my favorite Dev questions for folks who put UML on their resumes was “What are some of the implementation implications of the Composition relationship in terms of the .NET GC?'”, but that’s a story for another day). For today I’ll narrowly resist the temptation to expound upon the tremendous goodness that is UML (even if you never use it, studying makes you such a better Dev and Architect – really it does!), and just provides the links to the articles:
What struck me as I was reading these articles this evening is that Oslo’s System.Identity can handle all of the scenarios that the articles talk about. Obviously System.Identity (and the Party Model more generally) are layering a level of abstraction on top of what is talked about in the articles, but it just makes feel all warm on the inside to know that the System.Identity (and hence the Party Model) has yet another practical application.
On a side note, reading the articles above has given me a little hankering to actually write some code (God forbid!) putting System.Identity through its paces.
Stay tuned for the insanity…