Course update

As you know, Iím always going on about my course called "Design Patterns and Architecture Patterns with .NET" and here I go again. I have made a couple of changes to the course, and here they are in brief:
  • From the first time I gave the course, the labs and all examples have been driven with NUnit, but now I'm putting a lot more emphasis on TDD in the beginning of the course. Not as something that is particularly important for the course per se, but as something to take home as yet another tool for the toolbox.
  • A friend of mine recently said that patterns are great, but they are hard to grasp theoretically. What he preferred was to see some code in action and afterwards learn the pattern name for it. I have previously started from a realworld problem and then discussed a pattern as a possible solution to the problem. Iím going to mix that a bit, starting from code.
  • Trying out patterns by writing code is a great way (the best?) of getting a feeling for how they work, but it is very time consuming to do this during the course. Therefore I will also introduce some theoretical design labs, and also refactoring pieces of code by applying patterns.
  • The great book "Domain-Driven Design" by Eric Evans has influenced the course quite a bit.
  • And I will as usual discuss the latest findings in the development of the framework Valhalla...
While I'm at it, I'd like to say something important about necessary experience and knowledge in order to be able to learn about patterns. You don't need a lot of knowledge about Java, C# or VB.NET, nor do you need a lot of knowledge about OO. What I think is needed is just a little experience with a .NET language, for example, and a little knowledge about OO with no need for other in-depth courses first. As a matter of fact, learning about patterns is an efficient way of learning OO! What probably helps the most is if you have worked on an application with maintainability problems.

I think it's a common misconception that patterns and such are extremely advanced. That's not the case. However, if you are anything like me you might want to gain long-lasting skills For example, I learned SQL back in 1988 and I could still make a good living out of "just" working with SQL. I first started studying Design Patterns in around 1995 and they are "still" highly useful skills to have (and probably will be for many years to come). Isn't that kind of knowledge a wonderful thing? Knowledge that to a large degree will survive platform after platform, IDE after IDE, ... You get the picture.

I know, I know, this post was a bit like a marketing ploy. But who knows, I might have got you interested in the course, so I should really do you the service of telling you the next time and location for the course. It's in Karlskrona some time in late April. (The last time I checked, there were places available. Contact LinSoft for more information.) It will probably be held at Krutviken, which in my opinion has the nicest surroundings and the best food in Karlskrona. But you're not coming for the food and the surroundings, are you?