I’m taking Design Patterns this Summer. At this point, I’ve coded enough Java to be able to say I can code Java. However, I also know that my code typically is not, ahem, polished. Take for example, this past week. We’ve been going over publish/subscribe. Some may call it the “Observer” pattern. I call it the distributed message queue system I made for distributed systems class a year ago. Hindsight is always 20/20, right?
Design Patterns is all about avoiding DRY. This is something that I’m going through even with the Automated Test Framework that I’m writing at work. It’s all Unix shell scripts. Since shell scripting was created when programming pretty much meant that you were programming the OS, the syntax itself wasn’t particularly intented to be OO (insert e-vil grin here)…but that doesn’t mean that it can’t be. At this point, I’ve got scripts everywhere, and they are settling into a pattern. I chose test patterns and test harness patterns as my research topic for the class. I’m waiting to see if, in the course of my research I find myself looking in the test patterns mirror at my own automated test framework.
In the meantime, I will be making a few posts this Summer about Design Patterns. I’ll post my research assignment too. I’m so happy that my teacher is using Head First Design Patterns. I know that THE Design Patterns book is Design Patterns: Elements of Reusable Object-Oriented Software, typically known as the “The Gang Of Four” book, but the information in Head First Books is always so much easier to remember. They remind me of The Best Calculus Teacher Ever, Dr. Kathleen Hall who was considered somewhat unorthodox in using colors, YES! colors for describing calculus concepts on the black board. Every time I read a Head First book or find myself taking the derivative of something, I think fondly on Dr. Hall and her classes.