A not uncommon vignette in higher education: year two of a doctoral program, the student wonders what should I write my dissertation about? The key is to find a suitable research corpus, something that poses an evocative question, something with a rich historical archive, something not too presentist, and of course something that hasn't already been researched to death. I've often thought that someone should write a dissertation about the design patterns. From a media studies perspective, design patterns are a fascinating topic.
What are design patterns? And what makes them so interesting? A design pattern is a set of conventions for how to plan and organize software source code. While the notion of a design pattern is as old as computer programming, the topic was nicely formalized in the 1994 book Design Patterns: Elements of Reusable Object-Oriented Software. That book defined twenty-three patterns -- although there are others, and not everyone defines the patterns in exactly the same way. A design pattern is like a template, or loose guideline. The design pattern says here is the best general architecture for the problem you want to solve, although the exact coding is still up to you. Some of the design patterns have suggestive names like Flyweight, Memento, Singleton, or Observer. Continue reading