Like PythonShop (which could still use some touching up) the current task is to build the same functionality in .net. As I’m the .Net person (and *I’m* not at PyCon this weekend) I started up the project groundwork. I’m trying to do it with NHibernate, log4net, mysql (yeah, thought it might be interesting to hit something non-MS) full TDD methodology, maybe Windsor if I can figure out a good place to use it that isn’t over my head at my current knowledge level, and maybe MonoRail. With my current project at work, the project was over a year old by the time I got on board, so a fair amount of infrastructure was already set up. As a result, I’ve never really done this sort of thing from the beginning… I’d done .Net at my previous job, but it was your standard MS-style with Datasources, no ORM, so entirely different. Anyway, I’ve been doing a lot of reading trying to figure out how to set things up well. The amount of clearly written information online for project architecture seems pretty thin, and what’s there varies a lot in recommendations without explaining why, and in the quality. Maybe architecture is usually something learned by mentoring, I’m not sure. But it makes for tough going for learning.
At the moment, I’m structuring the project based on a tutorial at http://blog.symbiotic-development.com/2008/02/10/ddd-and-nhibernate/ … this is just a set of handy-dandy links for individual lessons by Ben Scheirman hosted at http://www.flux88.com/. It seems to strike a good balance between separating things out and ease of understanding. I tried looking at Ayende’s tools this weekend to get some similar guidance on architecture, but though I’m sure it’s probably more extensible, etc, all of that comes at a cost of being more abstract and harder to understand, particularly when you’re working through it alone.