Sunday, November 25, 2007

Developer Developer Developer Day 6

I had a great time at DDD6 on Saturday. The nicest thing for me was getting to meet and talk to some of the most highly regarded people in the UK developer community like Dave Sussman, Dave Verwer, James Winters and Paul Lockwood. There were also a few familiar faces from Brighton there: Simon Harriyot (of Sussex Geek Dinners fame), Jane Dallaway from Madgex and Steve Mason from Cubeworks.

My talk 'Why do I need an Inversion of Control Container' got off to a bad start when I discovered that there was no way of attaching my Macbook's DVI plug to the projector. I should have known there would be some bad voodoo bringing a Mac into the heart of Microsoft, or thinking again, maybe I just should have brought the right plug. Duh and double duh! I was saved by Phil Winstanley who very kindly jumped in and lent me his laptop and helped me get up and running, thanks Phil! Ten minutes of transferring files and installing Testdriven.net later,everything worked and I was able to start. I must admit the panic meant that I was more than a bit flustered, I missed a whole load of good points I wanted to make and my tendency to talk too fast was probably attenuated somewhat.

Luckily it was an excellent crowd with some great questions. By the end of the talk I was really enjoying myself. Thanks to everyone who came up to talk afterwards, I really appreciated your feedback, especially the lady who pointed out that I hadn't said where you can get the Castle Windsor download from. Duh again! In order to rectify that oversight, you need to install the entire Castle Project which you can get here:

http://www.castleproject.org/castle/download.html

Here are the slides and demo code. The code requires the castle project and NUnit to work.

http://static.mikehadlow.com/Mike.IocDemo.zip

There should also be a video at some point; watch this space.

4 comments:

James L said...

Mike - yours was the session I most enjoyed on Saturday. Didnt think you were speaking too quickly at all if it's worth anything! All the best, James.

Mike Hadlow said...

James, thanks for your comment, that's very kind.

Anonymous said...

Thanks for your talk, best one of the day by far. A subject that I had heard of many time and even looked at the castle web site but could never see the point, now i understand i will look at how and if its the right thing for our projects etc.

Thanks again

Simon

Mike Hadlow said...

Thanks Simon,

Bingo! I was exactly the same. I think I looked at the Castle web site several times over a period of months before I grepped what an IoC container was. Once I did, it was a bit of a eureka moment.

'IoC Containers', I think the problem is in the name. It's just too scary and doesn't really tell you what it is or what it's for. I can't think of a better name myself, but something that gets across the concepts of transparent, lightweight, fine-grained components is needed.

Part of the problem is that IoC itself isn't very widely understood, not in terms of the design principle, but in that it's the way of writing fine grained components in a strongly typed OO language. People expect to see some kind of tool or framework when you say 'component', but actually you just need a pattern: IoC. That's the main story. The IoC container is just a neat way of knitting your components together.