Today I had a great training on application design patterns with a focus on .NET. Tomorrow, this training will have a follow up focussing on enterprise patterns (messaging, etc). The training is provided by http://www.cibit.nl and I was quite impressed by the knowledge the trainer has.
One of the interesting new things I learned was Domain Modelling. An important aspect compared to table-oriented designs is the separation between the persistance logic and the domain model. The latter only deals with trying to get the best representation of a domain in an OO view, while the former deals with how the model must be persisted, loaded, etc. A great article on this can be found on Paul Giellens weblog: http://weblogs.asp.net/pgielens/archive/2005/07/29/420995.aspx