Archive for the ‘Thinking Out Loud’ Category

How To Use Design Patterns Correctly

Short answer: as comments. The standard definition of a design pattern is “a general reusable solution to a commonly occurring problem in software design,” but a better definition is “a good title with a useful description and a pile of other rubbish.” Take “Singleton” for example. A singleton is a class that has one instance [...]

January 24, 2010 • Tags: , , • Posted in: Thinking Out Loud • Comments Off

Interface Identification

In something of a follow-up to my last discussion, in this post I intend to look at a couple of ways that interfaces are identified, found and versioned. The simplest implementation of the interface pattern is C++’s (possibly Java’s, but I haven’t used Java enough to speak authoritatively on it). Since C++ doesn’t have interfaces [...]

December 19, 2009 • Posted in: Thinking Out Loud • Comments Off

Better Cohesion

One of the issues that I’ve come across multiple times this year is abstracting multi-purpose hardware. When I say multi-purpose here, I’m talking about custom hardware that has multiple, unrelated, functions. A multi-function printer/scanner/copier (multi-function device, hence, MFD) is a good enough example, so I’ll stick with that throughout this post, even though I’ve never [...]