Tuesday, April 14, 2009


(Udi Dahan) Make Roles Explicit!!!
I happen to catch this talk on my lunch break today. And it's simply brilliant. For some it may seem obvious, but for me... the light bulb definitely went off. Lately, I've been going through the design pattern books again... even took out Refactoring by Martin Fowler for review. Even though they make sense I've always had trouble implementing it in a brown field project. I'm currently faced with a few projects at work right now. One is a major project that I'm maintaining, and the other is actually a green field project that I'm also working on. It's exciting because it's a WPF application that hosts a 3D Model viewer made by the folks over at Autodesk.
It's COM but it's still cool. My job is to parse the 3D model for data and surface it in WPF.
Their are a lot of moving parts... such as... XLinq,Xceed Datagrid, LINQ2SQL, SQL, custom DWF parser (to parse DWF files), 3rd party COM API (Autodesk), Log4net, IOC, MVP, etc.
So it certainly can get quite confusing quite quickly. Having an over arching strategy to help manage complexity is key. After watching the video, it became clear and now I'm continuing the green field project in this specific manner. Make Roles Explicit!!!!

Thanks Udi,
-Develop with passion