It was the first .NET conference I attended and also my first encounter with the .NET User Group Frankfurt. Since I had to stay at school till 5pm and arrived at Darmstadt 6.30pm I missed out on the Clean-Code-Developer Initiative opening session and would have nearly missed the complete session about “MultiTouch with .NET 4.0”.
The first complete session I attended was “Distributed Applications with .NET 3.5 & Co.” by Christian Weyer and Dominick Baier from thinktecture. Their “YouTube” demo application was really awesome and Christian was a really great speaker and fun to listen, Dominick played the “Code Monkey” part. Although they just covered WCF basics that I was already familiar with, their talk was really interesting. They showed a fully working sample application featuring a simple HTTP service on the server side. On the client side they did not just have an ASP.NET application but also an Apple Push Notification iPhone client. All live and all working, most impressive the iPhone client live over internet.
Closing session was Effective, loosely coupled C# with Daniel Fisher and without Michael Willers, who was ill unfortunately. Besides covering the well known SOLID principles and having his short take on Joel Spolky’s Duct Tape Programmsers blog post. Very interesting. What followed was the best explanation of why one should prefer composition over inheritance I have ever heard of. Daniel claimed that in the contrived “Person->Employee” scenario composition should be used because it resembles reality more closely than inheritance. Of course an Employee is a Person. But what makes a Person an Employee? An employment Contract. What happens if a Person is employed at multiple companies? Right, the contract model provides advantages. This made me realize that there is indeed very litte necessity in multiple inheritance (that’s why it’s left out in C# I guess). Cases where it might prove useful are often better implemented using composition.
I really enjoyed attending the conference, it was excellently organized with interesting sessions and someone also sponsored soft-drinks. I also won a Microsoft T-Shirt, probably for being the youngest attendee. The german .NET community is really cool with a rich diversity and very competent speakers. I’ll try to attend one of the next User Group meetings and get to know them better.