Over the years, I’ve used the template pattern across multiple OO languages with varying degrees of success. It was one of the first patterns I learned in the primordial hours of my software engineering career, and for some reason, it just feels like the natural way to tackle many real-world code-sharing problems. Yet, even before I jumped on board with the composition over inheritance camp, I couldn’t help but notice how using this particular inheritance technique spawns all sorts of design and maintenance headaches as the codebase starts to grow.
Huh… now I have an excuse for why I hate the little custom “library” my coworker put together and tried to get me to use.
But skimming this tells me I’ve got a lot to learn, yet. A lot of it was hard to understand and is going to take some careful re-reading… I think the level of coding I’ve done so far just doesn’t necessitate custom classes, and I don’t particularly like them unless it’s from an established library.