If you are a regular reader, you know that I have been battling through several books on a variety of subjects. One of the things I have realized is that I have not really thought about design patterns properly. I mean, they are everywhere in the profession and I just accept the conventional wisdom and move on. I never think about them as a theory. As a result, I don’t grok them properly. They are merely a tool to use because situation X’s best practices or framework y’s inherit design, demand their use.
Since I am not the only person in the world that has this issue, I have decided to spend some time focusing on design patterns.
Patterns, I need no stinking design patterns.
You may think you are not using a pattern but you are. It may be the Dumass pattern but you are using one.
Insults aside, design patterns are tools in the toolbox. When you know them then you can select the one that is best for the situation. If you don’t know of any than you will use whatever pattern was in your textbook or video course you watched. So if the only thing you know is MVC then all your designs will try to use it. Even if it is a stupid idea. It’s the same idea as if you only have a hammer, all of life’s problems are a nail.
That being said, I am no slave to design patterns. Since my business background, building an application that has no reusable components with elaborate patterns to enable maximal reuse or single use programs that are one and done, spending time making it maintainable is just plain stupid. It takes 3 times the effort to make something reusable for every effort unit of coding and applications like these are a waste of a good tool.
Don’t you have enough topics already?
Well, I have been debating shifting some of the topics around. Killing off a few that I just feel like have not worked. This is a technology blog and this is a technology sort of thing so it should be a good replacement. I am also running into time issues and I need things that will be quick to write. I hope this will be one of those things.
Using hindsight, I may try to fix the topics to make them better. I don’t really care about temporal truth so if I edit something months after the fact to make it better, that should not be a problem.