Earlier this week Mike Vogt and I presented an introduction to design patterns. While I think that all developers should understand design patterns I don’t believe you can be a good architect unless you a firm grasp of patterns at at the application, system and enterprise levels.
We had some fun with the subject by alternating between .NET and Java examples. I think if we had hidden certain parts of the IDE we could have challenged the attendees to tell us which example was in C# and which was in Java.
At next month’s CITAG meeting Shankar Ramachandran will be covering NoSQL. Be sure to join us
Here are links to the slides and the .NET code. Slides .NET Code Java Code
Design patterns are an important part of understanding the best practices of software development. Head First Design Patterns is another great book in the Head First series which takes a more story based teaching approach.
As you get past the format of the book there are specific things that I like about the subject matter coverage. Rather than just laying out the name, problem and solution for each of the original patterns, they compare and contrast them. In some cases they even pull in patterns outside of the Gang of Four list such as dependency injection.
The only reservations I have about Head First Design Patterns is that some of the patterns, the strategy pattern for example, are kind of glossed over. You get a basic idea, but not the depth that I would like.
For those of you that spend all of your time in the .NET world you will have to convert the examples from Java, but this is rather trivial. The syntax just isn’t that different.
Overall this is a great book for introducing developers to the subject of patterns and how they are used.