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 [...]
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 [...]
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 [...]
